首页 > 解决方案 > 将文件夹中的多个excel文件读入pandas

问题描述

我想将 MacBook 桌面文件夹中包含的几个 excel 文件读入 pandas。

桌面中的文件夹包含一个文件夹(项目数据集),其中包含所有 excel 文件和我正在编写代码的 Jupiter 笔记本页面(草稿 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

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

标签: pythonexcelpandas

解决方案


国际大学联合会,

使用该模块可以更轻松地完成此操作pathlib并进行unix匹配。glob

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)

推荐阅读