news 2026/4/18 8:09:47

python读取excel数据的详细教学

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python读取excel数据的详细教学

在Python中读取Excel数据是一个常见的数据处理任务。通过pandas库,你可以轻松地读取、分析和操作Excel文件。以下是如何使用Python读取Excel数据的详细讲解。

一、准备工作

在开始之前,确保已安装pandas库以及Excel文件处理的依赖库openpyxl。你可以使用以下命令安装这些库:

1

pipinstallpandas openpyxl

二、读取Excel文件的基本步骤

使用pandas库中的read_excel()函数可以轻松读取Excel文件。以下是该函数的基本用法。

1

2

3

4

importpandas as pd

# 读取Excel文件

df=pd.read_excel('example.xlsx')

read_excel()函数的基本参数

  • filepath: 要读取的Excel文件的路径,支持相对路径和绝对路径。
  • sheet_name: 指定要读取的工作表(Sheet)。可以是工作表名称、索引(从0开始),或者是None(读取所有工作表)。
  • header: 指定数据表头的行号,默认是0(第一行作为表头)。
  • usecols: 指定要读取的列,可以是列名列表或列索引列表。
  • skiprows: 跳过文件开头的行数(通常用于跳过不需要的行,如文件说明)。

三、详细示例

3.1 读取指定工作表

如果Excel文件中有多个工作表,你可以指定要读取的工作表名称或索引。

1

2

3

4

5

# 读取名为 "Sheet2" 的工作表

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

# 读取索引为1的工作表(第二个工作表)

df=pd.read_excel('example.xlsx', sheet_name=1)

3.2 读取特定列和行

可以使用usecols参数读取特定的列,使用skiprows参数跳过某些行。例如:

1

2

# 只读取A列和C列,并跳过前两行

df=pd.read_excel('example.xlsx', usecols=['A','C'], skiprows=2)

3.3 读取所有工作表

sheet_name设置为None,读取Excel文件中的所有工作表,并将其作为一个字典返回,键是工作表名称,值是对应的DataFrame。

1

2

3

4

5

# 读取所有工作表

dfs=pd.read_excel('example.xlsx', sheet_name=None)

# 访问特定工作表的数据

df_sheet1=dfs['Sheet1']

四、数据清洗和预处理

读取Excel数据后,通常需要对数据进行清洗和预处理。pandas提供了丰富的函数来帮助你完成这些任务。

4.1 删除空值

使用dropna()函数可以删除DataFrame中的空值:

1

2

3

4

5

# 删除任何包含NaN的行

df_cleaned=df.dropna()

# 删除任何包含NaN的列

df_cleaned=df.dropna(axis=1)

4.2 填充空值

可以使用fillna()函数填充空值,例如用零或均值填充:

1

2

3

4

5

# 用0填充所有空值

df_filled=df.fillna(0)

# 用每列的均值填充空值

df_filled=df.fillna(df.mean())

4.3 更改列的数据类型

在处理Excel数据时,可能需要更改某些列的数据类型。pandas提供了astype()函数来完成这一任务:

1

2

# 将某列转换为整数类型

df['Age']=df['Age'].astype(int)

五、导出Excel文件

处理完数据后,可以将其导出回Excel文件。pandas提供了to_excel()函数来完成这一任务。

1

2

# 导出到一个新的Excel文件

df.to_excel('output.xlsx', index=False)

导出多个工作表

可以使用ExcelWriter对象将多个DataFrame写入同一个Excel文件的不同工作表:

1

2

3

4

# 创建一个ExcelWriter对象

with pd.ExcelWriter('output.xlsx') as writer:

df1.to_excel(writer, sheet_name='Sheet1')

df2.to_excel(writer, sheet_name='Sheet2')

六、处理带有复杂格式的Excel文件

有时,Excel文件中可能包含合并单元格、复杂的表头等情况。你可以使用pandas的高级功能来处理这些问题。

6.1 处理合并单元格

read_excel()函数会自动处理大多数合并单元格的情况,将它们展开为普通表格。如果需要更复杂的处理,可以使用merge_cells参数(默认为True)。

6.2 处理复杂的表头

可以使用header参数指定表头所在的行,并使用skiprows跳过其他不需要的行。例如,假设你的数据从第3行开始,第1行是文件说明,第2行是表头:

1

2

# 读取数据,跳过前两行,指定第3行为表头

df=pd.read_excel('example.xlsx', header=2)

七、其他Excel文件处理库

除了pandas,还有一些其他库可以用于处理Excel文件,如openpyxlxlrdxlwt等:

  • openpyxl:可以用于读取和写入.xlsx格式的Excel文件,支持处理Excel文件的样式、图表等复杂功能。
  • xlrd:可以用于读取.xls.xlsx文件,适用于简单的读取任务(请注意,从2021年起,xlrd不再支持.xlsx格式)。
  • xlwt:用于写入.xls格式的Excel文件。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:09:13

番茄小说下载器终极指南:3种方法实现离线阅读与格式转换

番茄小说下载器终极指南:3种方法实现离线阅读与格式转换 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾经在番茄小说上追更到精彩章节,却因为…

作者头像 李华
网站建设 2026/4/18 8:06:13

Anthropic发现:人工智能会成为隐藏自己真实意图的“卧底”吗?

考虑这样一个场景:在一个精英学校里,有一名极其聪明的学生。当校长和老师在场时,这名学生表现得完美无瑕,不仅考试门门满分,还非常懂礼貌、乐于助人。然而,一旦毕业铃声响起,这名学生就会立刻开…

作者头像 李华
网站建设 2026/4/18 8:04:28

RTX 4090极速体验:Qwen2.5-VL-7B-Instruct图文交互工具部署全流程

RTX 4090极速体验:Qwen2.5-VL-7B-Instruct图文交互工具部署全流程 1. 项目概述与硬件准备 1.1 为什么选择Qwen2.5-VL-7B-Instruct Qwen2.5-VL-7B-Instruct是阿里通义千问推出的多模态大模型,专为视觉-语言交互任务优化。相比前代版本,它在…

作者头像 李华
网站建设 2026/4/18 7:58:25

Windows Cleaner:三步彻底解决C盘爆红问题,让电脑重获新生!

Windows Cleaner:三步彻底解决C盘爆红问题,让电脑重获新生! 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你的Windows电脑是…

作者头像 李华