近期在从网上下载CSV的文件,需要合并到一张表里,遇到了三种情况,也汇总了各种网站上关于合并单元格的一些方法,现将三种类型的代码分享如下:
1、合并不在一个文件夹中的文件
import pandas as pd
file_list=[‘文件名1.csv’,‘文件名2.csv’]
dfs=[pd.read_excel(file) for file in file_list]
result=pd.concat(dfs,ignore_index=True)
result.to_excel(‘newname.csv’,index=False)
2、合并同一个文件夹中的文件
import pandas as pd
import os
dfs=[]
for fname in os.listdir(“./”):
if fname.endswith(“.csv”):
dfs.append(pd.read_csv(fname))
result = pd.concat(dfs)
result.to_csv(“newname.csv”,index=False)
3、需将sheet表名作为新的一列合并文件
import pandas as pd
import glob,os
from warnings import filterwarnings
filterwarnings(‘ignore’)
path = r’C:\Users\HP\Desktop\集装箱航次数据\问题讨论与杨老师\7周航次数据’
file = glob.glob(os.path.join(path,‘*.csv’))
d1 = []
for f in file:
a=pd.read_csv(f)
a['原文件名称'] = os.path.basename(f).split('.')[0] # 新增的列,os.path.basename() 函数为获取文件名
d1.append(a)
result = pd.concat(d1)
result.to_csv(“newname.csv”,index=False)
希望对大家有所帮助!!!