Как объединить несколько Excel CSV-файлов без вставки файлов мне нужно - PullRequest
0 голосов
/ 07 октября 2019

Теперь я попытался создать код, который объединит несколько файлов 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, который читает все excel csvфайлы в определенном directory или file, а затем объединить их в один csv файл.

Итак, возможно ли это сделать?

1 Ответ

1 голос
/ 07 октября 2019

думаю, это будет работать

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