合并多个csv';他正在使用python

合并多个csv';他正在使用python,python,csv,merge,Python,Csv,Merge,我是python新手,我已经从大型文本文件中创建了多个csv文件。因此,我的csv如下所示 CSV1 ABC,1 DEF,2 GHI,3 CSV2 ABC,4 DEF,5 GHI,6 以此类推,最多可存储15个csv文件 我想创建一个组合csv文件,如下所示 ABC,1,4 DEF,2,5 GHI,3,6 任何关于如何做到这一点的建议都是值得赞赏的 假设所有CSV文件都具有相同的长度,并且以相同的顺序包含相同的第一列,类似的内容可能适合您: list_of_files = ['csv1.csv'

我是python新手,我已经从大型文本文件中创建了多个csv文件。因此,我的csv如下所示

CSV1

ABC,1

DEF,2

GHI,3

CSV2

ABC,4

DEF,5

GHI,6

以此类推,最多可存储15个csv文件

我想创建一个组合csv文件,如下所示

ABC,1,4

DEF,2,5

GHI,3,6


任何关于如何做到这一点的建议都是值得赞赏的

假设所有CSV文件都具有相同的长度,并且以相同的顺序包含相同的第一列,类似的内容可能适合您:

list_of_files = ['csv1.csv', 'csv2.csv', 'csv3.csv']

# Use the first file as a template
with open(list_of_files[0], 'r') as f:
    output_text = [line.strip() for line in f]

# Append the values to the end of the lines
for fn in list_of_files[1:]:
    with open(fn, 'r') as f:
        for i, line in enumerate(f):
            key, value = line.strip().split(",")
            output_text[i] += "," + value

# Dump result to new csv
with open("result.csv", 'w') as f:
    f.write("\n".join(output_text))

到目前为止你试过什么吗?或者甚至是研究过的?也许可以在google.com上使用类似于
PythonCSV
的查询?在使用
时,您不需要
f.close()
。我还建议你看看
读写器
。谢谢,这是一种习惯。
import csv
from collections import defaultdict

csvs = ["data1.csv", "data2.csv"]
for file in csvs:
    for line in csv.reader(open(file)):
        d.setdefault(line[0], []).append(line[1]) 

with open("result.csv", "w") as f:
    wrt = csv.writer(f)
    wrt.writerows([[k] + v for k, v in d.items()])