Python使用pandas和openpyxl读取Excel表格的方法详解

 更新时间:2024年10月03日 09:58:17   作者:代码伐木匠  
这篇文章主要介绍了Python读取Excel表格数据的方法,Python提供了多种读取Excel文件的方式,最常用的库是pandas和openpyxl,下面我将详细介绍如何使用这两个库来读取Excel文件,并包含一些实用示例,需要的朋友可以参考下

前言

Python 提供了多种读取 Excel 文件的方式,最常用的库是 pandasopenpyxl。下面我将详细介绍如何使用这两个库来读取 Excel 文件,并包含一些实用示例,帮助你撰写博客。

1. 安装必要的依赖

首先,需要确保安装了 pandasopenpyxl 库,这两个库可以帮助我们轻松读取 Excel 文件。

你可以使用以下命令安装它们:

pip install pandas openpyxl

  • pandas:用于数据处理和分析,它内置了读取 Excel 文件的功能。
  • openpyxl:一个读写 Excel 2007 及以上版本的 Excel 文件的库。

2. 读取Excel文件

假设你有一个Excel文件data.xlsx,包含如下数据:

NameAgeCity
John25New York
Alice30London
Bob22Tokyo

你可以使用 pandas 来读取文件的内容。

import pandas as pd
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 显示数据
print(df)

输出:

    Name  Age      City
0   John   25  New York
1  Alice   30    London
2    Bob   22     Tokyo

3. 读取特定的工作表

Excel 文件通常包含多个工作表。可以通过指定 sheet_name 来读取特定的工作表。例如,假设 data.xlsx 文件中有一个名为 Sheet2 的工作表:

df = pd.read_excel('data.xlsx', sheet_name='Sheet2')
print(df)

你也可以通过索引来指定工作表:

df = pd.read_excel('data.xlsx', sheet_name=0)  # 读取第一个工作表

4. 读取多张工作表

如果你想一次性读取 Excel 文件中的所有工作表,可以使用 sheet_name=None,它会返回一个包含多个 DataFrame 的字典。

dfs = pd.read_excel('data.xlsx', sheet_name=None)
# 遍历所有工作表
for sheet, data in dfs.items():
    print(f"工作表名: {sheet}")
    print(data)

5. 只读取特定列

有时,你只需要读取 Excel 文件中的部分列。可以通过 usecols 参数指定需要读取的列。

df = pd.read_excel('data.xlsx', usecols=['Name', 'City'])
print(df)

输出:

    Name      City
0   John  New York
1  Alice    London
2    Bob     Tokyo

你也可以使用列的索引来读取特定列,例如:

df = pd.read_excel('data.xlsx', usecols=[0, 2])  # 读取第一和第三列
print(df)

6. 处理缺失数据

在读取 Excel 数据时,可能会遇到空白单元格。你可以使用 pandas 处理这些缺失数据。例如,可以通过 na_values 参数将特定的值识别为 NaN,或者使用 fillna() 方法填充缺失值。

# 将特定值识别为NaN
df = pd.read_excel('data.xlsx', na_values=['N/A', 'NA'])
# 填充缺失数据
df.fillna(value={'Age': 0, 'City': 'Unknown'}, inplace=True)
print(df)

7. 将Excel数据转换为其他格式

有时你可能需要将读取的 Excel 数据保存为其他格式,例如 CSV 文件或 JSON 文件。pandas 允许你轻松实现这一点。

# 保存为CSV文件
df.to_csv('data.csv', index=False)
# 保存为JSON文件
df.to_json('data.json', orient='records')

8. 读取大文件和优化性能

如果 Excel 文件非常大,可能会导致内存不足或读取速度较慢。pandas 提供了一些方法来优化性能,例如使用 chunksize 分块读取数据。

# 分块读取Excel文件,每次读取100行
chunks = pd.read_excel('large_data.xlsx', chunksize=100)
for chunk in chunks:
    print(chunk)

9. 使用openpyxl读取Excel

openpyxl 更适合需要对 Excel 文件进行更底层操作的场景,如读取和修改单元格样式、公式等。以下是一个简单的读取示例:

from openpyxl import load_workbook
# 加载Excel工作簿
wb = load_workbook('data.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 读取指定单元格的值
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, values_only=True):
    print(row)

10. 更多的Excel读取功能

你可以使用 pandas 提供的更多选项,例如:

  • skiprows: 跳过特定行数
  • nrows: 读取指定行数
  • header: 设置自定义标题行
# 跳过前两行并读取5行数据
df = pd.read_excel('data.xlsx', skiprows=2, nrows=5)
print(df)

总结

通过 pandasopenpyxl,你可以轻松读取 Excel 文件,并进行各种数据处理操作。pandas 更适合快速、简单的数据分析,而 openpyxl 则适合需要对 Excel 文件进行更深入控制的场景。

到此这篇关于Python读取Excel表格数据的方法详解的文章就介绍到这了,更多相关Python读取Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用matplotlib画图之坐标轴不等距

    使用matplotlib画图之坐标轴不等距

    这篇文章主要介绍了使用matplotlib画图之坐标轴不等距方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python中base64编码与解码详解

    Python中base64编码与解码详解

    本文主要介绍了Python2和Python3中使用base64加密方式的区别,Python3中字符为unicode编码,而b64encode函数的参数为byte类型,所以需要先进行转码
    2024-11-11
  • python UNIX_TIMESTAMP时间处理方法分析

    python UNIX_TIMESTAMP时间处理方法分析

    这篇文章主要介绍了python UNIX_TIMESTAMP时间处理方法,结合实例形式分析了Python针对UNIX_TIMESTAMP时间的常见运算技巧,需要的朋友可以参考下
    2016-04-04
  • 详解 Python 与文件对象共事的实例

    详解 Python 与文件对象共事的实例

    这篇文章主要介绍了详解 Python 与文件对象共事的实例的相关资料,希望通过本文大家能掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • python实现录屏功能(亲测好用)

    python实现录屏功能(亲测好用)

    这篇文章主要介绍了使python实现录屏功能(亲测好用),本文通过实例代码给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 把Anaconda中的环境导入到Pycharm里面的方法步骤

    把Anaconda中的环境导入到Pycharm里面的方法步骤

    这篇文章主要介绍了把Anaconda中的环境导入到Pycharm里面的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Python Web版语音合成实例详解

    Python Web版语音合成实例详解

    这篇文章主要介绍了Python Web版语音合成实例详解,语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速、音调、音量设置,让人机沟通更自然,需要的朋友可以参考下
    2019-07-07
  • Python新手入门之常用关键字的简单示例详解

    Python新手入门之常用关键字的简单示例详解

    关键字是预先保留的标识符,每个关键字都有特殊的含义,下面这篇文章主要给大家介绍了关于Python新手入门之常用关键字的简单示例,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Python基础文件操作方法超详细讲解(详解版)

    Python基础文件操作方法超详细讲解(详解版)

    文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,这篇文章主要介绍了Python基础文件操作方法超详细讲解的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • python tensorflow学习之识别单张图片的实现的示例

    python tensorflow学习之识别单张图片的实现的示例

    本篇文章主要介绍了python tensorflow学习之识别单张图片的实现的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论