Excel文件被覆盖而不是concat - Python - Pandas

问题描述 投票:1回答:3

我正在尝试使用以下脚本将所有excel文件和工作表联系到一个。它有点工作,但然后excel文件c.xlsx被覆盖每个文件,所以只有最后一个excel文件被连接不知道为什么?

import pandas as pd
import os
import ntpath
import glob

dir_path = os.path.dirname(os.path.realpath(__file__))
os.chdir(dir_path)
cdf = None
for excel_names in glob.glob('*.xlsx'):
    print(excel_names)
    df = pd.read_excel(excel_names, sheet_name=None, ignore_index=True)
    cdf = pd.concat(df.values())
    cdf.to_excel("c.xlsx", header=False, index=False)
python excel pandas
3个回答
2
投票

Idea是列表理解中创建DataFrames的列表,但因为使用orderdict是必要的qazxsw poi in循环然后qazxsw poi为一个大的最终DataFrame:

concat

0
投票

我刚刚测试了下面的代码。它将文件夹中所有Excel文件的数据合并为一个Excel文件。

concat

0
投票

我使用下面的脚本使用@ ryguy72的答案,但它适用于所有工作表以及标题行。

cdf = [pd.read_excel(excel_names, sheet_name=None, ignore_index=True).values() 
       for excel_names in glob.glob('files/*.xlsx')]

df = pd.concat([pd.concat(x) for x in cdf], ignore_index=True)
#print (df)

df.to_excel("c.xlsx", index=False)
© www.soinside.com 2019 - 2024. All rights reserved.