如何在Python中合并200个CSV文件?
我这里有200个单独的CSV文件,名字从SH (1)到SH (200)。我想把它们合并成一个CSV文件。请问我该怎么做呢?
23 个回答
65
使用Stack Overflow 上被认可的答案来创建一个你想要合并的 CSV 文件列表,然后运行以下代码:
import pandas as pd
combined_csv = pd.concat( [ pd.read_csv(f) for f in filenames ] )
如果你想把这些内容导出到一个单独的 CSV 文件,可以使用下面的代码:
combined_csv.to_csv("combined_csv.csv", index=False)
79
你可以直接用 sed 1d sh*.csv > merged.csv
这个命令。
有时候你甚至不需要用到Python!
109
正如ghostdog74所说的,这次我们要处理带有表头的情况:
with open("out.csv", "ab") as fout:
# First file:
with open("sh1.csv", "rb") as f:
fout.writelines(f)
# Now the rest:
for num in range(2, 201):
with open("sh" + str(num) + ".csv", "rb") as f:
next(f) # Skip the header, portably
fout.writelines(f)