Python 将文件夹中的多个excel文件读入

Python 将文件夹中的多个excel文件读入,python,excel,pandas,Python,Excel,Pandas,我想将MacBook桌面文件夹中的几个excel文件读入pandas 桌面中的文件夹包含一个文件夹(项目数据集),其中包含所有excel文件和我正在编写代码的Jupiter笔记本页面(draft progetto) 我编写了以下代码: path = os.getcwd() files = os.listdir(path) files 输出: ['.DS_Store', 'draft progetto.ipynb', '.ipynb_checkpoints', 'project_dataset'

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

桌面中的文件夹包含一个文件夹(项目数据集),其中包含所有excel文件和我正在编写代码的Jupiter笔记本页面(draft 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
我得到一个空列表作为输出!! 为什么会这样?

IIUC

通过使用
glob
模块进行
pathlib
unix
匹配,可以更轻松地实现这一点

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')])
分解它。
f[3:][/code>的输出是什么?你试过打印它了吗?您使用的是哪个版本的python?我在列表中看不到任何文件包含
xlsx
文件?它们包含在'project_dataset'文件夹@anky_91中。您需要指定正确的路径-请参阅下面的答案。我想我在确定excel文件的路径时遇到了问题,我要做的是:你的路径='Desktop/Folder/project\u dataset'@stud\u eco我从pathlib类
rglob
中添加了一个递归方法,这就像调用
path.glob(),在给定的相对模式前面添加了“**/”
# 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)