如何在python中打开具有多个数据框的文件夹并合并到一个csv文件中

如何在一个csv文件中合并所有打开文件夹的多个df python

我有大约 700 个 csv 文件都有完全相同的列,我需要将所有文件合并到一个 csv 文件中。

那就是数据,它都在一个文件夹中,文件名中有一个模式,就像“日期” = ex: 07 25 2018

07252018 = {name: "Carlos", age:"30", height: "15" }


name     age   height

Carlos   30    15




07262018 = {name: "Carlos", age:"30", height: "15" }


name     age   height

Carlos   30    15




and etc.. range of 700csv

我做了什么。。

它可以工作,但非常手动,需要大量输入,因为有 700 个 csv


03012018 = pd.read_csv("Data/03012018 )

03022018 = pd.read_csv("Data/03012018 )

03032018 = pd.read_csv("Data/03012018 )

03042018 = pd.read_csv("Data/03012018 )

03052018 = pd.read_csv("Data/03012018 )

and etc..




file = pd.cancat([03012018,03022018,03032018,03042018,03052018 ])


file.to_csv("Data/file")



预期输出将是一种最佳方式,无需大量输入即可快速完成。


收到一只叮咚
浏览 118回答 1
1回答

catspeake

IIUC,这应该这样做:选项1:效率较低,可读性更好:def get_df():    df=pd.DataFrame()    for file in os.listdir():        if file.endswith('.csv'):            aux=pd.read_csv(file)            df=df.append(aux)    return df接着:df=get_df()选项 2:内存效率更高,可读性更低:def df_generator():    for file in os.listdir():        if file.endswith('.csv'):            aux=pd.read_csv(file)            yield aux接着:generator=df_generator()df = pd.DataFrame()for table in generator:    df = df.append(table)注意:要使其按原样工作,脚本必须位于包含 csv 的文件夹内。否则,您需要从脚本所在的文件夹中添加该文件夹的相对路径。示例:如果您的脚本位于文件夹“Project”中,并且在该文件夹中,您的文件夹“Tables”中包含所有 csv,您可以:os.listdir('Tables/')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python