【问题标题】:Append Multiple Excel Files(xlsx) together in python在python中将多个Excel文件(xlsx)附加在一起
【发布时间】:2018-04-06 10:25:40
【问题描述】:
import pandas as pd
import os
import glob


all_data = pd.DataFrame()
for f in glob.glob("output/test*.xlsx")
    df = pd.read_excel(f)
    all_data = all_data.append(df, ignore_index=True)

我想将多个 xlsx 文件放入一个 xlsx。 excel 文件位于输出/测试文件夹中。列是相同的,但我想要连接行。上面的代码似乎不起作用

【问题讨论】:

    标签: python excel pandas merge data-science


    【解决方案1】:

    all_data 成为一个列表。

    all_data = []
    for f in glob.glob("output/test/*.xlsx"):
        all_data.append(pd.read_excel(f))
    

    现在,拨打pd.concat

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

    确保所有列名都相同,否则此解决方案将不起作用。


    您还可以使用上述for 循环的map 版本:

    g = map(pd.read_excel, glob.glob("output/test/*.xlsx"))
    df = pd.concat(list(g), ignore_index=True)
    

    或其他答案中显示的 list comprhension 方法。

    【讨论】:

    • 我想获取文件夹“test”中的所有文件。 test文件夹里面有excel文件
    • @user3821872 使用“输出/测试/*.xlsx”。见编辑好友。
    • 我确实做到了,工作正常,但我希望将其输出到 excel 文件中,有没有办法做到这一点?有没有办法查看 concat 的输出
    • @user3821872 致电df.to_excel('file.xlsx')。更多问题在新的问题帖子中提出。
    【解决方案2】:

    使用list comprehension + concat:

    all_data = [pd.read_excel(f) for f in glob.glob("output/test/*.xlsx")]
    df = pd.concat(all_data, ignore_index=True)
    

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      相关资源
      最近更新 更多