使用writerow合并python中具有不同列的多个csv文件错误
我有大量csv文件/数据帧,它们太大,无法存储在内存中。但是,我注意到这些数据帧之间的列大小不同。我的专栏是“ACGT”(DNA序列)的排列。我按照关于如何使用不同列编写多个CSV的说明进行了操作,但出现了以下错误:AttributeError:“str”对象没有属性“keys”。我找到了解决错误的方法,但是我不确定在哪里编辑代码以使“line”对象成为字典。我还担心我的csv文件有一个没有标题值的索引列,这可能会弄乱我的代码,或者我的字段名(str来自排列)的格式可能是一个问题。如果有一种方法可以用另一种语言将多个csv文件合并为不同的格式,我可以接受,但是我遇到了一些问题使用writerow合并python中具有不同列的多个csv文件错误,python,csv,multiple-columns,large-data,large-files,Python,Csv,Multiple Columns,Large Data,Large Files,我有大量csv文件/数据帧,它们太大,无法存储在内存中。但是,我注意到这些数据帧之间的列大小不同。我的专栏是“ACGT”(DNA序列)的排列。我按照关于如何使用不同列编写多个CSV的说明进行了操作,但出现了以下错误:AttributeError:“str”对象没有属性“keys”。我找到了解决错误的方法,但是我不确定在哪里编辑代码以使“line”对象成为字典。我还担心我的csv文件有一个没有标题值的索引列,这可能会弄乱我的代码,或者我的字段名(str来自排列)的格式可能是一个问题。如果有一种方法
您只需要写一次头,所以在
文件列表
循环之前:
with open('Outcombined.csv','w',newline='') as f_out:
writer = csv.DictWriter(f_out,fieldnames=fieldnames)
writer.writeheader() # write header based on `fieldnames`
for filename in file_list:
with open(filename,'r',newline='') as f_in:
reader = csv.DictReader(f_in)
for line in reader:
writer.writerow(line)
DictWriter
将负责将值放在正确的标题下。请分享整个错误消息。
with open('Outcombined.csv','w',newline='') as f_out:
writer = csv.DictWriter(f_out,fieldnames=fieldnames)
writer.writeheader() # write header based on `fieldnames`
for filename in file_list:
with open(filename,'r',newline='') as f_in:
reader = csv.DictReader(f_in)
for line in reader:
writer.writerow(line)