0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用Python读取多份Excel的小技巧

数据分析与开发 来源:早起Python 2023-02-02 09:48 次阅读

在使用 Python 批量处理 Excel 时经常需要批量读取数据,常见的方式是结合glob模块,可以实现将当前文件夹下的所有csv批量读取,并且合并到一个大的DataFrame中

df_list = []
for file in glob.glob("*.csv"):
    df_list.append(pd.read_excel(file))

df = pd.concat(df_list)

但是这样要求读取的每一个csv文件格式、列名都是一样的。

如果想要将每一个csv独立的进行读取,可以使用os模块来循环遍历当前文件夹中的 CSV 文件,然后使用 Pandas 的read_csv函数来读取每个文件

import os
import pandas as pd

df_list = []

for file in os.listdir():
    if file.endswith(".csv"):
        df_list.append(pd.read_csv(file))

现在,df_list中的每个元素都是一个DataFrame,但是这样依旧不够完美,调用的时候依旧需要手动从列表中提取。

那如何自动读取当前文件夹下全部CSV数据,并将每个CSV赋给不同的变量

可以使用Python中的globals()函数,它返回一个字典,其中包含当前程序的所有全局变量,例如我们可以使用如下语法来为字典中的某个键赋值:

globals()[key] = value

所以,使用下面的代码可以实现自动读取当前文件夹下全部CSV数据,并将每个CSV赋给不同的变量

df_list = []

for i, file in enumerate(os.listdir()):
    if file.endswith(".csv"):
        df_list.append(pd.read_csv(file))

for i, df in enumerate(df_list):
    globals()[f'df{i+1}'] = df

当然,类似的方法还可以应用于读取Excel的不同sheet,例如假设data.xlsx有10个sheet

df_list = [pd.read_excel("data.xlsx", sheet_name=i) for i in range(10)]

for i, df in enumerate(df_list):
    globals()[f"df{i+1}"] = df

如果你不清楚数据有多少Sheet,也可以使用sheet_name=None,然后根据返回的字典自动读取

df_list = pd.read_excel("data.xlsx", sheet_name=None)

for i, (name, df) in enumerate(df_list.items()):
    globals()[f"df_{name}"] = df







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
  • csv
    csv
    +关注

    关注

    0

    文章

    35

    浏览量

    5760

原文标题:如何用 Python 批量循环读取 Excel ?

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LabVIEW读取Excel数据时间转换设计

    利用LabVIE读取Excel中的时间为带小数点的数值型,需将其进行转换。转换过程如下分为含年月日和不含年月日两种转换方式。
    发表于 12-20 08:54 7354次阅读
    LabVIEW<b class='flag-5'>读取</b><b class='flag-5'>Excel</b>数据时间转换设计

    Python利用pandas读写Excel文件

    使用pandas模块读取Excel文件可以更为方便和快捷。pandas可以将Excel文件读取为一个DataFrame对象,方便进行数据处理和分析。
    的头像 发表于 12-16 11:22 596次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>利用</b>pandas读写<b class='flag-5'>Excel</b>文件

    labview利用ActiveX控件来读取excel中的内容数据

    labview利用ActiveX控件来读取excel中各个位置的数据内容
    发表于 07-15 09:27

    求助:labview读取excel数据一列问题

    新手刚接触labview,求大神告知怎样读取excel数据中一列,并画出波形图。感谢
    发表于 12-02 20:37

    利用Labview2015,读取桌面EXCEL文件并显示,总是出现“读取EXCEL例子.vi中的格式太旧或是类型库无效”?

    利用Labview2015,读取桌面EXCEL文件并显示,总是出现“读取EXCEL例子.vi中的格式太旧或是类型库无效”?我的Labview
    发表于 12-15 10:41

    基于python读取excel表格

    Python利用python读取excel表格的那些七七八八事
    发表于 12-28 14:23

    labview如何读取excel文件

    本文档的主要内容详细介绍的是labview如何读取excel文件
    发表于 08-16 08:00 190次下载
    labview如何<b class='flag-5'>读取</b><b class='flag-5'>excel</b>文件

    如何使用python实现截图自动存入Excel

    如何使用python实现截图自动存入Excel
    的头像 发表于 02-05 12:13 6974次阅读

    超简单:用PythonExcel飞起来

    超简单:用PythonExcel飞起来
    发表于 05-25 10:46 40次下载

    Labview对Excel读取和保存原程序下载

    Labview对Excel读取和保存原程序下载
    发表于 07-04 17:10 137次下载

    Labview读取EXCEL

    Labview自动读取EXCEL无需安装excel,亲测有效,可以正常读取EXCEL内容。 
    发表于 03-21 15:39 51次下载

    Excel新功能要逆天 微软把Python加入Excel

    Excel新功能要逆天 微软把Python加入Excel Excel新功能要逆天了,比如你可以在Excel里快速实现机器学习天气预测模型,可
    的头像 发表于 08-23 18:04 613次阅读

    微软正在将Python引入Excel

    微软现代工作总经理Stefan Kinnestrand解释说:“您可以使用Python Plots和libraries在Excel中操纵和探索数据,然后使用Excel的公式、图表和数据透视表来进一步
    的头像 发表于 08-24 17:08 586次阅读
    微软正在将<b class='flag-5'>Python</b>引入<b class='flag-5'>Excel</b>

    如何使用Python和pandas库读取、写入文件

    在本文中,我将介绍如何使用 Python 和 pandas 库读取、写入文件。 1、安装 pip install pandas 2、读取 import pandas as pd df
    的头像 发表于 09-11 17:52 786次阅读

    PythonExcel转PDF的实现步骤

    Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致。今天给大家分享一个使用第三方Python库Spire.XLS for Python 实现
    的头像 发表于 11-20 15:02 380次阅读
    <b class='flag-5'>Python</b>中<b class='flag-5'>Excel</b>转PDF的实现步骤