亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在python中打開具有多個數據框的文件夾并合并到一個csv文件中

如何在python中打開具有多個數據框的文件夾并合并到一個csv文件中

收到一只叮咚 2022-06-14 15:15:10
如何在一個csv文件中合并所有打開文件夾的多個df python我有大約 700 個 csv 文件都有完全相同的列,我需要將所有文件合并到一個 csv 文件中。那就是數據,它都在一個文件夾中,文件名中有一個模式,就像“日期” = ex: 07 25 201807252018 = {name: "Carlos", age:"30", height: "15" }name     age   heightCarlos   30    1507262018 = {name: "Carlos", age:"30", height: "15" }name     age   heightCarlos   30    15and etc.. range of 700csv我做了什么。。它可以工作,但非常手動,需要大量輸入,因為有 700 個 csv03012018 = 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")預期輸出將是一種最佳方式,無需大量輸入即可快速完成。
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

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/')


查看完整回答
反對 回復 2022-06-14
  • 1 回答
  • 0 關注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號