gpt4 book ai didi

python - 使用python将一个csv文件的内容附加到另一个

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:44 24 4
gpt4 key购买 nike

我有 2 个 csv 文件:

  • 输出.csv
  • 输出1.csv

output.csv 有 5 列标题。
output1.csv 有大约 40 列不同类型的数据。

我需要将 output1.csv 的所有内容附加到 output.csv。我该怎么做?
有人可以给我一些提示吗???
我有以下代码:

reader=csv.DictReader(open("test.csv","r"))
allrows = list(reader)

keepcols = [c for c in allrows[0] if all(r[c] != '0' for r in allrows)]

print keepcols
writer=csv.DictWriter(open("output.csv","w"),fieldnames='keepcols',extrasaction='ignore')
writer.writerows(allrows)

with open("test1.csv","r") as f:
fields=next(f).split()
# print(fields)
allrows=[]
for line in f:
line=line.split()
row=dict(zip(fields,line))
allrows.append(row)
# print(row)
keepcols = [c for c in fields if any(row[c] != '0' for row in allrows)]
print keepcols
writer=csv.DictWriter(open("output1.csv","w"),fieldnames=keepcols,extrasaction='ignore')
writer.writerows(allrows)

test.csv 生成output.csv
test1.csv 生成output1.csv

我想看看我是否可以让两个文件在同一个文件中生成我的输出..

最佳答案

如果我正确理解您的问题,您想要创建一个包含 41 列的 csv - output.csv 中的 1 后面是 output1.csv 中的 40。我假设它们具有相同的行数(如果不是 - 必要的行为是什么?)

尝试使用 csv 模块:

import csv
reader = csv.reader(open('output.csv', 'rb'))
reader1 = csv.reader(open('output1.csv', 'rb'))
writer = csv.writer(open('appended_output.csv', 'wb'))
for row in reader:
row1 = reader1.next()
writer.writerow(row + row1)

如果您的 csv 文件使用特殊分隔符或引号字符进行格式化,您可以为 csv.reader 和 csv.writer 对象使用可选的关键字参数。参见 Python's csv module documentation详情...

编辑:按照建议添加“b”标志。

关于python - 使用python将一个csv文件的内容附加到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com