多个csv文件,按照文件名每两个合并为一个。如,person_01_vec.csv和person_02_vec.csv合并为新的video1.csv,感谢!!
import pandas as pd
import os
Folder_Path = r'C:\foldername' #要拼接的文件夹及其完整路径,注意不要包含中文
SaveFile_Path = r'C:\foldername' #拼接后要保存的文件路径
SaveFile_Name = r'all.csv' #合并后要保存的文件名
#修改当前工作目录
os.chdir(Folder_Path)
#将该文件夹下的所有文件名存入一个列表
file_list = os.listdir()
#读取第一个CSV文件并包含表头
df = pd.read_csv(Folder_Path +'\\'+ file_list[0]) #编码默认UTF-8,若乱码自行更改
#将读取的第一个CSV文件写入合并后的文件保存
df.to_csv(SaveFile_Path+'\\'+ SaveFile_Name,encoding="utf_8_sig",index=False)
#循环遍历列表中各个CSV文件名,并追加到合并后的文件
for i in range(1,len(file_list)):
df = pd.read_csv(Folder_Path + '\\'+ file_list[i])
df.to_csv(SaveFile_Path+'\\'+ SaveFile_Name,encoding="utf_8_sig",index=False, header=False, mode='a+')
可以这样写:
import pandas as pd
import os
path=os.chdir('./testdata/')
fs=os.listdir(path)
for i in range(0,len(fs)-1,2):
if i%2==0:
df0=pd.read_csv(fs[i],header=None)
df1 = pd.read_csv(fs[i+1], header=None)
df=pd.concat([df0,df1],axis=0,ignore_index=True)
df.to_csv(f'new{i}.csv',index=False)