找回密码
 立即注册

QQ登录

只需一步,快速开始

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

2024-11-4 20:56| 发布者: ae2942d9| 查看: 198| 评论: 0

摘要: 目录前言1. 安装须要的依赖2. 读取Excel文件3. 读取特定的工作表4. 读取多张工作表5. 只读取特定列6. 处置处罚缺失数据7. 将Excel数据转换为其他格式8. 读取大文件和优化性能9. 使用openpyxl读取Excel10. 更多的Exce
目录

前言

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

1. 安装须要的依赖

首先,须要确保安装了 [code]pandas[/code] 和 [code]openpyxl[/code] 库,这两个库可以帮助我们轻松读取 Excel 文件。

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

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

2. 读取Excel文件

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

NameAgeCity
John25New York
Alice30London
Bob22Tokyo

你可以使用 [code]pandas[/code] 来读取文件的内容。

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

输出:

[code]    Name  Age      City0   John   25  New York1  Alice   30    London2    Bob   22     Tokyo[/code]

3. 读取特定的工作表

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

[code]df = pd.read_excel('data.xlsx', sheet_name='Sheet2') print(df) [/code]

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

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

4. 读取多张工作表

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

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

5. 只读取特定列

有时,你只须要读取 Excel 文件中的部门列。可以通过 [code]usecols[/code] 参数指定须要读取的列。

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

输出:

[code]    Name      City0   John  New York1  Alice    London2    Bob     Tokyo[/code]

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

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

6. 处置处罚缺失数据

在读取 Excel 数据时,可能会遇到空白单元格。你可以使用 [code]pandas[/code] 处置处罚这些缺失数据。例如,可以通过 [code]na_values[/code] 参数将特定的值识别为 [code]NaN[/code],大概使用 [code]fillna()[/code] 方法添补缺失值。

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

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

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

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

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

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

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

9. 使用openpyxl读取Excel

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

[code]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)[/code]

10. 更多的Excel读取功能

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

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

总结

通过 [code]pandas[/code] 和 [code]openpyxl[/code],你可以轻松读取 Excel 文件,并进行各种数据处置处罚操纵。[code]pandas[/code] 更适合快速、简单的数据分析,而 [code]openpyxl[/code] 则适合须要对 Excel 文件进行更深入控制的场景。

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


来源:https://www.jb51.net/python/328281ayp.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

最新评论

关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 19:04 , Processed in 0.034124 second(s), 20 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部