为什么需要合并多个 CSV 文件?

如果你不需要操作太多文件,那么可以直接手动复制粘贴。

但是,假设你要连接的文件超过 100 个,你还愿意手动操作吗?重复执行此操作很繁琐,而且容易出错。

1*uRBGXWKaeRjw6Ck2NrhcIA

如果所有文件都具有相同的表结构(相同的标题和列数),则可以使用这个简单的 Python 脚本来完成

第一步:导入包,设置工作目录

将 “/ mydir” 更改为所需的工作目录。

import os
import glob
import pandas as pd
os.chdir("/mydir")

第二步使用 glob 匹配模式 “csv”

匹配模式(“csv”),然后将文件名列表保存在 “all_filenames” 变量中。你可以查看此链接,以了解有关正则表达式匹配的更多信息。

extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]

第三步:合并列表中的所有文件并导出为 CSV

使用 pandas 连接列表中的所有文件,并导出为 CSV。输出文件位于你的工作目录中,名为 “combined_csv.csv”。

#在列表中合并所有文件
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#导出 csv
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')

添加了 encoding = ‘utf-8-sig’,以解决导出“非英语”语言时遇到的问题。

好了,完成啦!

本文的灵感来自于我在日常编码中遇到的实际问题。编码结构来自 stackoverflow 上的讨论。请在 GitHub 上查看完整脚本

感谢阅读本文!你可以尝试一下,给我反馈。

原文:How to combine multiple CSV files with 8 lines of code,作者:Ekapope Viriyakovithya