两个如何使用python水平合并几个.csv文件?

Pan*_*nca 3 python csv file

我有几个.csv文件(~10),需要将它们水平合并到一个文件中.每个文件具有相同的行数(~300)和4个标题行,这些标题行不一定相同,但不应合并(仅从第一个.csv文件中获取标题行).行中的标记以逗号分隔,中间没有空格.

作为一个python noob,我没有提出解决方案,但我确信这个问题有一个简单的解决方案.欢迎任何帮助.

Kos*_*Kos 6

您可以使用csvPython中的模块加载CSV文件.请参阅本模块的文档以获取加载代码,我记不住它了,但它非常简单.就像是:

import csv
reader = csv.reader(open("some.csv", "rb"))
csvContent = list(reader)
Run Code Online (Sandbox Code Playgroud)

之后,当您以这种形式(元组列表)加载CSV文件时:

[ ("header1", "header2", "header3", "header4"),
  ("value01", "value12", "value13", "value14"),
  ("value11", "value12", "value13", "value14"),
  ... 
]
Run Code Online (Sandbox Code Playgroud)

您可以逐行合并两个这样的列表:

result = [a+b for (a,b) in zip(csvList1, csvList2)]
Run Code Online (Sandbox Code Playgroud)

要保存这样的结果,您可以使用:

writer = csv.writer(open("some.csv", "wb"))
writer.writerows(result)
Run Code Online (Sandbox Code Playgroud)