第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

將包括工作表在內(nèi)的多個exce文件導(dǎo)入1個excel文件

將包括工作表在內(nèi)的多個exce文件導(dǎo)入1個excel文件

牛魔王的故事 2023-05-16 15:00:02
我有 5 個 Excel 文件,每個文件包含 8 個工作表,每個工作表包含大約 30 行。所以這意味著 1 個文件總共有 30 x 8 = 240 行。有沒有我可以使用的快速技巧將所有這 5 個文件(包括工作表)合并到 1 個 Excel 文件中,總共 240 x 5 行 = 1200 行?這是我當(dāng)前的代碼:import osimport pandas as pdfiles = os.listdir('c:\data\KM\Desktop\my_folder')  os.chdir(r'c:\data\KM\Desktop\my_folder')df = pd.DataFrame()for file in files:    if file.endswith('.xlsx'):        df = df.append(pd.read_excel(file))df.head() df.to_excel('all_files.xlsx')  現(xiàn)在有了這段代碼我有兩個問題:從所有文件中,我只得到第一張紙。所以它總共合并了 8 張而不是 40 (8x5) :(對于每個文件,它還復(fù)制列標(biāo)題,這只需要為第一個文件完成。所有文件和工作表都具有相同的列名。感謝大家的幫助。
查看完整描述

1 回答

?
aluckdog

TA貢獻1847條經(jīng)驗 獲得超7個贊

對所有工作表使用read_excelwith?sheet_name=None,將 DataFrame 列表連接在一起concat,最后再次將其用于一個大的 DataFrame:

import glob


files = glob.glob(r'c:/data/KM/Desktop/my_folder/*.xlsx')?

dfs = (pd.concat(pd.read_excel(fp, sheet_name=None)) for fp in files)

dfbig = pd.concat(dfs, ignore_index=True)

編輯:要刪除最后一個工作表名稱,請將 orderdict 轉(zhuǎn)換為 DataFrame 列表并通過索引刪除最后一個:


files = glob.glob(r'D:/Dropbox/work-joy/so/files/*.xlsx')

dfs = (pd.concat([v for k, v in pd.read_excel(fp, sheet_name=None).items()][:-1])?

? ? ? ? ? ? ? ? ?for fp in files)

df = pd.concat(dfs, ignore_index=True)


查看完整回答
反對 回復(fù) 2023-05-16
  • 1 回答
  • 0 關(guān)注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號