在python中附加多个Excel文件(xlsx)

2024-04-26 06:44:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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文件在output/test文件夹中。列是一样的,除了我想要的行是concat。上面的代码似乎不起作用


Tags: 文件testimportdataframepandasdfoutputdata
2条回答

使用list comprehension+^{}

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

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)

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


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

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

或者另一个答案中所示的列表压缩方法。

相关问题 更多 >