当前位置: 首页 > news >正文

python中读取 Excel 表格数据

pandas中读取 Excel 表格后,有多种方式可以按列、按行提取数据,下面我将详细介绍常见的方法。

0.声明

在本文中我使用的excel表内容如下:

1. 读取 Excel 文件

首先,我们需要使用 pandasread_excel 函数读取 Excel 文件,示例代码如下:

import pandas as pd# 读取 Excel 文件
df = pd.read_excel(excel_file_path, sheet_name)
  • excel_file_path为文件路径
  • sheet_name为工作表名称

2. 按列提取数据

2.1 通过列名提取单列数据

可以使用方括号 [] 并传入列名来提取单列数据,提取后的数据类型为 pandas.Series

# 提取名为 'age' 的列
column_data = df['age']
print(column_data)

2.2 通过列名提取多列数据

若要提取多列数据,可在方括号 [] 中传入一个包含列名的列表,提取后的数据类型为 pandas.DataFrame

# 提取 'age' 和 'name' 两列
columns_data = df[['age', 'name']]
print(columns_data)

2.3 通过列索引提取单列数据

使用 iloc 方法,通过列的整数索引来提取单列数据。

# 提取第 0 列(索引从 0 开始)
first_column = df.iloc[:, 0]
print(first_column)

2.4 通过列索引提取多列数据

同样使用 iloc 方法,通过指定列索引范围来提取多列数据。

# 提取第 0 列到第 2 列(不包含第 2 列)
selected_columns = df.iloc[:, 0:2]
print(selected_columns)

3. 按行提取数据

3.1 通过行索引提取单行数据

使用 iloc 方法,通过行的整数索引来提取单行数据,提取后的数据类型为 pandas.Series

# 提取第 0 行(索引从 0 开始)
first_row = df.iloc[0]
print(first_row)

3.2 通过行索引提取多行数据

使用 iloc 方法,通过指定行索引范围来提取多行数据,提取后的数据类型为 pandas.DataFrame

# 提取第 0 行到第 2 行(不包含第 2 行)
selected_rows = df.iloc[0:2]
print(selected_rows)

3.3 通过条件筛选提取行数据

可以根据某列的条件来筛选出符合条件的行。

#提取 'age 列中值大于 10 的行
filtered_rows = df[df['age'] > 10]
print(filtered_rows)

4. 按行和列同时提取数据

4.1 使用 iloc 按行和列索引提取数据
# 提取第 0 行到第 2 行(不包含第 2 行)和第 0 列到第 2 列(不包含第 2 列)的数据
subset = df.iloc[0:2, 0:2]
print(subset)

5.总代码

这是本文中所使用的代码,大家可以复制下来自己运行一遍

import pandas as pdexcel_file_path="./data.xlsx"
sheet_name="Sheet1"
# 读取 Excel 文件
df = pd.read_excel(excel_file_path, sheet_name)# 提取名为 'age' 的列
print("提取名为 'age' 的列")
column_data = df['age']
print(column_data)# 提取 'age' 和 'name' 两列
print("提取 'age' 和 'name' 两列")
columns_data = df[['age', 'name']]
print(columns_data)# 提取第 0 列(索引从 0 开始)
print("提取第 0 列(索引从 0 开始)")
first_column = df.iloc[:, 0]
print(first_column)# 提取第 0 列到第 2 列(不包含第 2 列)
print("提取第 0 列到第 2 列(不包含第 2 列)")
selected_columns = df.iloc[:, 0:2]
print(selected_columns)# 提取第 0 行(索引从 0 开始)
print("提取第 0 行(索引从 0 开始)")
first_row = df.iloc[0]
print(first_row)# 提取第 0 行到第 2 行(不包含第 2 行)
print("提取第 0 行到第 2 行(不包含第 2 行)")
selected_rows = df.iloc[0:2]
print(selected_rows)# 提取 'age 列中值大于 10 的行
print("提取 'age 列中值大于 10 的行")
filtered_rows = df[df['age'] > 10]
print(filtered_rows)# 提取第 0 行到第 2 行(不包含第 2 行)和第 0 列到第 2 列(不包含第 2 列)的数据
print("提取第 0 行到第 2 行")
subset = df.iloc[0:2, 0:2]
print(subset)

6.总结

通过学习以上代码,你会掌握excel读取数据的基本方法。在python中会将读取的excel转换为DataFrame格式。这是一个功能强大且灵活的数据结构,在数据处理、分析和可视化等领域都有广泛的应用,你可以通过阅读我的另一篇文章来了解DataFrame格式的常见用法,

http://www.dtcms.com/a/288691.html

相关文章:

  • 将EXCEL或者CSV转换为键值对形式的Markdown文件
  • 推荐一款基于.NET的进程间通信框架
  • 【橘子分布式】gRPC(编程篇-下)
  • 基于SHAP的特征重要性排序与分布式影响力可视化分析
  • ZooKeeper学习专栏(一):分布式协调的核心基石
  • 28.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--币种服务(二)
  • 智能驾驶整体技术架构详解
  • OPC UA, CAN, PROFINET, SOCKET, MODBUS, HTTP, S7七种物联网常用协议解释
  • Shell脚本-tee工具
  • 《计算机网络》实验报告三 UDP协议分析
  • DAY 20 奇异值分解(SVD)
  • 【Elasticsearch】冷热集群架构
  • 【数据结构】二维差分数组
  • 【milvus检索】milvus检索召回率
  • `TransportService` 是 **Elasticsearch 传输层的“中枢路由器”**
  • java-chains 是 Vulhub 团队开发的一款专注于 Java 反序列化漏洞利用链(Gadget Chains) 的安全测试工具
  • 算法训练营day25 回溯算法④ 补充联系题目 332.重新安排行程、51. N皇后、37. 解数独
  • 【Settlement】P1:整理GH中的矩形GRID角点到EXCEL中
  • 算法题(176):three states
  • Python 图片爬取入门:从手动下载到自动批量获取
  • 【JS逆向基础】数据库之MongoDB
  • Django接口自动化平台实现(四)
  • 基于单片机的智能家居安防系统设计
  • API接口签名和敏感信息加密使用国密SM方案
  • Web开发 04
  • 【新手向】PyTorch常用Tensor shape变换方法
  • 零基础学习性能测试第二章-linux/jvm/mysql等数据收集环境搭建
  • Golang基础语法-数据类型
  • Go语言--语法基础6--基本数据类型--map类型
  • Java学习第六十部分——JVM