Python批量合并CSV:如何合并多个CSV文件?

2021年7月20日04:03:35 发表评论 2,665 次浏览

Python批量合并CSV如何实现?如何合并多个CSV文件?如果你没有太多的文件或数据要处理,手动复制粘贴以合并CSV文件是可以的。

但是想象一下,如果你有100多个CSV文件需要合并——你愿意手动合并这些CSV文件吗?重复执行此操作是乏味且容易出错的。

Python批量合并CSV:如何合并多个CSV文件?
Python批量合并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的简单快速的解决办法,希望可以帮到你,谢谢你的阅读,如有任何问题,请在下方留言反馈。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: