首页 > 解决方案 > 如何在不插入我需要的文件的情况下连接多个 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文件的某个文件directoryfile然后将它们组合到一个csv文件中。

那么,有可能做到这一点吗?

标签: pythonpandasoperating-system

解决方案


猜猜这会起作用

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")

推荐阅读