使用writerow合并python中具有不同列的多个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来自排列)的格式可能是一个问题。如果有一种方法

我有大量csv文件/数据帧,它们太大,无法存储在内存中。但是,我注意到这些数据帧之间的列大小不同。我的专栏是“ACGT”(DNA序列)的排列。我按照关于如何使用不同列编写多个CSV的说明进行了操作,但出现了以下错误:AttributeError:“str”对象没有属性“keys”。我找到了解决错误的方法,但是我不确定在哪里编辑代码以使“line”对象成为字典。我还担心我的csv文件有一个没有标题值的索引列,这可能会弄乱我的代码,或者我的字段名(str来自排列)的格式可能是一个问题。如果有一种方法可以用另一种语言将多个csv文件合并为不同的格式,我可以接受,但是我遇到了一些问题


您只需要写一次头,所以在
文件列表
循环之前:

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)