python - 将文件夹中的多个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
我得到一个空列表作为输出!!为什么是这样?
解决方案
国际大学联合会,
使用该模块可以更轻松地完成此操作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)
推荐阅读
- php - 调试 SMTP 邮件
- asp.net-mvc - ASP.NET MVC 5 HttpPostedFileBase 在模型中始终为空
- html - bootstrap :当列向下时生成空白区域以进行响应式使用
- react-native - source.pipe 不是带有 redux-observable / rxjs/operators 的函数
- nunit - NUnit.Engine.NUnitEngineUnloadException :遇到多个异常。检索 AggregatedExceptions 属性以获取更多信息
- android - 崩溃时的 Crashlytics customkey 报告
- json - 如何在不排序的情况下解析 QJson 文件?
- python - 带有unicode标志的python正则表达式奇怪的长度问题
- java - 如何使用 for 循环保存在数组中并检查 Java 中的现有值
- android - 单个活动多个片段导航问题