【发布时间】:2020-08-11 19:29:20
【问题描述】:
我有 5 个 Excel 文件,每个文件包含 8 个工作表,每个工作表包含大约 30 行。所以这意味着 1 个文件总共有 30 x 8 = 240 行。有没有什么快速的技巧可以将所有这 5 个文件(包括工作表)合并到 1 个 Excel 文件中,总共 240 x 5 行 = 1200 行?
这是我当前的代码:
import os
import pandas as pd
files = 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')
现在使用这段代码我有两个问题:
- 从所有文件中,我只得到了第一张。所以它总共合并了 8 张而不是 40 (8x5) :(
- 对于每个文件,它还复制列标题,这需要仅针对第一个文件进行。所有文件和工作表都具有相同的列名。
感谢大家的帮助。
【问题讨论】:
标签: python excel pandas python-os