我想将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
我得到一个空列表作为输出!! 为什么这样?
答案 0 :(得分:2)
IIUC,
通过使用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)