python - 如何在不插入我需要的文件的情况下连接多个 excel csv 文件
问题描述
现在我尝试创建一个将多个csv
文件合并到一个csv
文件中的代码,因为这没有问题并且工作正常......
这是我的代码
import pandas as pd
import os
mydir = (os.getcwd()).replace('\\', '/') + '/'
# Read all three files into pandas dataframes
f1 = pd.read_csv(r'' + mydir + "BCACACBBABDBBBnir.csv", encoding='latin-1')
f2 = pd.read_csv(r'' + mydir + "BCACACBBABDBBCnir.csv", encoding='latin-1')
f3 = pd.read_csv(r'' + mydir + "BCACACBBABDBBDnir.csv", encoding='latin-1')
f4 = pd.read_csv(r'' + mydir + "BCACACBBABDBDAnir.csv", encoding='latin-1')
f5 = pd.read_csv(r'' + mydir + "BCACACBBABDBDBnir.csv", encoding='latin-1')
........
f107 = pd.read_csv(r'' + mydir + "BCACACBDBDBAABnir.csv", encoding='latin-1')
# Create a list of the files in order you want them appended
all_df_list = [f1, f2, f3, f4, ....., f107]
# Merge all the dataframes in all_df_list
# Pandas will automatically append based on similar column names
appended_df = pd.concat(all_df_list)
# Write the appended dataframe to an excel file
# Add index=False parameter to not include row numbers
appended_df.to_csv("AllBefore.csv", index=False)
所以现在我需要插入csv
我想要组合的所有文件,因为我有数百个csv
文件,我只想创建一个for loop
读取所有 excelcsv
文件的某个文件directory
,file
然后将它们组合到一个csv
文件中。
那么,有可能做到这一点吗?
解决方案
猜猜这会起作用
basepath = <basepath>
files = list(filter(lambda x: '.csv' in x, os.listdir(basepath)))
alldf = pd.DataFrame()
for f in files:
df= pd.read_csv(f"{basepath}/{f}",encoding='latin-1')
alldf = pd.concat([alldf,df])
alldf.to_csv("final.csv")