【Python】如何使用Pandas库读取Excel工作表中的数据?

使用Pandas库读取Excel工作表中的数据是一个非常常用的操作,特别是在进行数据分析时。Pandas提供了一个非常强大的函数read_excel,它允许用户从Excel文件中读取数据,并将其转换为DataFrame对象,便于后续的数据处理和分析。下面是使用Pandas读取Excel文件的详细介绍及示例。

安装Pandas库

首先,如果你还没有安装Pandas,可以通过pip来安装它:

pip install pandas

使用pandas.read_excel函数

pandas.read_excel函数提供了多种参数来定制读取Excel文件的方式。下面是一些常用的参数:

  • io: Excel文件的路径或文件对象。
  • sheet_name: 可以是整数(表示工作表的位置)、字符串(表示工作表的名字)或者是一个列表,用于指定要读取的工作表。如果设置为None,那么会读取整个工作簿。
  • header: 指定哪一行作为列名。默认为0(第一行),如果设置为None,则没有列名。
  • names: 列名列表,当header=None时可以使用此参数指定列名。
  • index_col: 用作行索引的列编号或名称。如果有多列,可以传入一个列表。
  • usecols: 指定要读取的列。可以是列的索引位置、列名列表,或者一个函数,该函数接收列名并返回一个布尔值。
  • skiprows: 要跳过的行数(从文件顶部开始计数)。
  • nrows: 要读取的行数。
  • na_values: 用于识别空值的一系列值。默认情况下,Pandas会将空白单元格识别为NaN。
  • dtype: 指定列的数据类型字典。
  • 示例代码

    假设我们有一个名为data.xlsx的Excel文件,内容如下:

    店铺 员工数量 经理 开始日期
    New York 10 Sarah 2018-07-20
    San Francisco 12 Neriah 2019-11-02
    示例1: 读取整个工作表
    import pandas as pd
    
    # 读取Excel文件
    df = pd.read_excel('data.xlsx')
    
    # 输出DataFrame
    print(df)
    

    输出结果:

             店铺  员工数量     经理   开始日期
    0    New York        10    Sarah 2018-07-20
    1  San Francisco       12  Neriah 2019-11-02
    
    示例2: 读取特定列
    # 仅读取"店铺"和"员工数量"两列
    df_selected_columns = pd.read_excel('data.xlsx', usecols=["店铺", "员工数量"])
    
    # 输出DataFrame
    print(df_selected_columns)
    

    输出结果:

             店铺  员工数量
    0    New York        10
    1  San Francisco       12
    
    示例3: 跳过前几行并指定列名
    # 跳过第一行,并使用自定义列名
    df_custom_header = pd.read_excel('data.xlsx', skiprows=1, names=['Store', 'Employees', 'Manager', 'Since'])
    
    # 输出DataFrame
    print(df_custom_header)
    

    输出结果:

                Store  Employees    Manager       Since
    0        New York         10      Sarah  2018-07-20
    1  San Francisco         12     Neriah  2019-11-02
    
    示例4: 读取多个工作表
    # 读取多个工作表,返回一个字典,键为工作表名,值为DataFrame
    dfs = pd.read_excel('data.xlsx', sheet_name=[0, 1, '2019-2020'])
    
    # 输出字典
    for sheet, frame in dfs.items():
        print(f"Sheet: {sheet}")
        print(frame)
    

    注意事项

  • 如果Excel文件位于网络上,可以直接使用URL作为io参数。
  • 当处理大型文件时,考虑使用nrows限制读取的行数以提高性能。
  • 如果Excel文件包含多个工作表,确保指定了正确的sheet_name
  • 使用dtype参数可以指定每一列的数据类型,这对于后续的数据处理非常重要。
  • 通过这些示例,您可以根据自己的需求灵活地读取Excel文件中的数据,并进行进一步的数据分析和处理。


    🌟 加入【技术图书分享与阅读笔记】,一起遨游知识的星海! 🌟

    在这个快速变化的时代,技术日新月异,唯有不断学习才能保持竞争力。【技术图书分享与阅读笔记】是一个充满活力和热情的学习社区,我们专注于最新的技术趋势和技术图书,致力于为每一位成员提供一个持续成长和交流的平台。

    在这里,你可以:

  • 获取最新技术资讯:我们持续关注前沿技术动态,确保你不会错过任何重要的技术更新。
  • 共同阅读最新技术图书:每月精选一本高质量的技术书籍,与志同道合的朋友一起阅读、讨论,共同进步。
  • 分享学习笔记和心得:定期更新学习笔记和心得,帮助你更好地理解和吸收知识。
  • 互动交流,共同成长:与来自各行各业的技术爱好者交流经验,互相激励,共同解决学习中的难题。
  • 无论你是技术新手还是资深开发者,【技术图书分享与阅读笔记】都欢迎你的加入!让我们一起探索技术的奥秘,享受学习的乐趣,共同在知识的星海中遨游!

    👉 立即加入我们,开启你的学习之旅吧!

    作者:七魔心

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python】如何使用Pandas库读取Excel工作表中的数据?

    发表回复