Python批量合并CSV如何实现?如何合并多个CSV文件?如果你没有太多的文件或数据要处理,手动复制粘贴以合并CSV文件是可以的。
但是想象一下,如果你有100多个CSV文件需要合并——你愿意手动合并这些CSV文件吗?重复执行此操作是乏味且容易出错的。
如果所有文件都有相同的表结构(相同的头和列数),让这个小小的Python脚本来完成Python合并多个CSV文件的工作,下面是Python批量合并CSV的三个简单快速的实现步骤:
步骤1:导入批量合并CSV所需的软件包并设置工作目录
如何合并多个CSV文件?首先导入软件包,更改"/mydir "到你想要的工作目录。
import os
import glob
import pandas as pd
os.chdir("/mydir")
步骤2:使用glob匹配模式“csv”
匹配模式(' csv ')并将文件名列表保存在'all_filename'变量中。你可以查看这个链接来了解更多关于正则表达式匹配的知识。
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
步骤3:Python批量合并CSV并导出为CSV
使用pandas连接列表中的所有文件并导出为CSV。输出文件名为“combined_csv.csv”,文件位于你的工作目录中。
#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#export to csv
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')
添加encoding = 'utf-8-sig'是为了克服在导出'非英语'语言的CSV文件时遇到的问题。
到这里,Python批量合并CSV的操作基本完成了。
本文的灵感来自于我实际的日常问题,编码结构来自于对stackoverflow的讨论。这个教程的完整脚本在GitHub上有文档说明。
Python如何合并多个CSV文件?以上就是Python批量合并CSV的简单快速的解决办法,希望可以帮到你,谢谢你的阅读,如有任何问题,请在下方留言反馈。