将多个以相同名称开头的excel文件导入pandas,并将它们连接到一个数据帧中

2024-09-28 21:55:17 发布

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

我每天都有多个不同名称的excel文件,但所有这些文件都以相同的名称开头,例如,“Answer1.xlsx”、“AnswerAVD.xlsx”、“Answer2312.xlsx”等

是否可以在一个数据帧中读取和连接所有这些文件

我知道如何一个接一个地做,但这不是一个解决办法

import pandas as pd

dfs1 = pd.read_excel('C:/Answer1.xlsx')
dfs2 = pd.read_excel('C:/AnswerAVD.xlsx')
dfs3 = pd.read_excel('C:/Answer2312.xlsx')

Final=pd.concat([dfs1 , dfs2 ,dfs3 ])

非常感谢你的帮助


Tags: 文件数据import名称readxlsxexcelpd
2条回答

pathlib使用glob方法,然后对concat使用pandas和列表理解

from pathlib import Path
import pandas as pd

src_files = Path('C:\\').glob('*Answer*.xlsx')

df = pd.concat([pd.read_excel(f, index_col=None, header=0) for f in src_files])

@KarduThis将帮助您以简洁的方式完成这项工作,并且还有许多对其他备选方案有用的注释

同样,受同一篇文章的启发,这应该会有所帮助

import pandas as pd
import glob

path = r'C:\' # use your path
all_files = glob.glob(path + "/Answer*.xlsx")

li = []

for filename in all_files:
    df = pd.read_excel(filename, index_col=None, header=0)
    li.append(df)

frame = pd.concat(li, axis=0, ignore_index=True)

相关问题 更多 >