从一个文件夹中读取多个Excel文件到熊猫

时间:2020-02-16 14:54:46

标签: python excel pandas

我想将MacBook桌面中一个文件夹中包含的几个Excel文件读入熊猫。

桌面上的文件夹包含一个文件夹(项目数据集),其中包含所有excel文件以及我在其中编写代码的Jupiter Notebook页面(草稿progetto)

我编写了以下代码:

path = os.getcwd()
files = os.listdir(path)
files

输出:

['.DS_Store', 'draft progetto.ipynb', '.ipynb_checkpoints', 'project_dataset']

然后当我跑步时:

files_xls = [f for f in files if f[3:] == 'xlsx']
files_xls

我得到一个空列表作为输出!! 为什么这样?

1 个答案:

答案 0 :(得分:2)

IIUC,

通过使用pathlib模块进行unixglob匹配,可以轻松完成这一工作。

from pathlib import Path
import pandas as pd

#one liner
your_path = 'path_to_excel_files'
df = pd.concat([pd.read_excel(f) for f in Path(your_path).rglob('*.xlsx')])

打破它。

# find the excel files 
# if you want to change the path do Path('your_path')...
files = [file for file in Path.cwd.rglob('*.xlsx')]

#create a list of dataframes.
dfs_list = [pd.read_excel(file) for file in files])


#concat
df = pd.concat(dfs_list)