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

python读取excel

目录

1. 安装 pandas 和 openpyxl

2. 读取Excel文件

2.1. 设置head所在行

3. 读取特定的工作表

4. 读取多个工作表

5. 选择特定的列或行

6. 处理缺失值和数据类型

7. 保存读取的数据

8. 按行遍历数据

9、按列遍历数据


在Python中读取Excel文件,最常用的库是 pandaspandas 提供了强大的数据操作功能,能够方便地读取和处理Excel文件。下面是如何使用 pandas 读取Excel文件的步骤。

1. 安装 pandasopenpyxl

如果你还没有安装 pandasopenpyxl,需要先安装它们。openpyxlpandas 用于处理Excel文件的默认引擎。

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

pip install pandas openpyxl

2. 读取Excel文件

使用 pandas 中的 read_excel 方法可以读取Excel文件。以下是一个简单的例子:

import pandas as pd# 读取Excel文件
df = pd.read_excel('example.xlsx')# 查看数据的前五行
print(df.head())
2.1. 设置head所在行

# 下标从 0 开始

pd.read_excel('header.xlsx', header=1)

# 第1、2行复合标题头 ,第一列为索引列

pd.read_excel('header.xlsx', header=[0, 1],  index_col=0)

3. 读取特定的工作表

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

# 读取名为 'Sheet1' 的工作表
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')# 或者使用工作表的索引 (0表示第一个工作表)
df = pd.read_excel('example.xlsx', sheet_name=0)

4. 读取多个工作表

你还可以同时读取多个工作表,并将它们存储在一个字典中:

 
# 读取多个工作表
dfs = pd.read_excel('example.xlsx', sheet_name=['Sheet1', 'Sheet2'])# dfs 是一个字典,键是工作表名,值是相应的DataFrame
print(dfs['Sheet1'].head())
print(dfs['Sheet2'].head())

或者读取所有工作表:

 
# 读取所有工作表
dfs = pd.read_excel('example.xlsx', sheet_name=None)# 迭代所有的工作表
for sheet_name, df in dfs.items():print(f"Sheet name: {sheet_name}")print(df.head())

5. 选择特定的列或行

你可以选择读取特定的列或行,或者指定数据的范围:

 
# 读取特定的列
df = pd.read_excel('example.xlsx', usecols="A:C")  # 读取 A 到 C 列# 读取特定的行
df = pd.read_excel('example.xlsx', skiprows=1)  # 跳过前1行

6. 处理缺失值和数据类型

pandas 在读取Excel文件时,会自动处理缺失值和数据类型。你可以使用 na_values 参数来指定额外的缺失值标识:

 
# 自定义缺失值标识
df = pd.read_excel('example.xlsx', na_values=['NA', 'N/A', '--'])

7. 保存读取的数据

读取的Excel文件内容将存储在 DataFrame 对象中,你可以对数据进行各种操作后,再将其保存为其他格式的文件,例如另一个Excel文件或CSV文件:

# 将数据保存为新的Excel文件 df.to_excel('output.xlsx', index=False) # 保存为CSV文件 df.to_csv('output.csv', index=False)

8. 按行遍历数据

data = pd.read_excel('output.xlsx')# 遍历每一行数据
for index, row in data.iterrows():column1_value = row['Column1']column2_value = row['Column2']# 对数据进行处理...

9、按列遍历数据

import pandas as pd# 读取Excel文件
data = pd.read_excel('output.xlsx')# 遍历每一列数据
for column_name, column_data in data.iteritems():# 对数据进行处理...print(f"Column Name: {column_name}")print("Column Data:")print(column_data)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Flask如何处理POST请求
  • 两个月冲刺软考——逻辑地址与物理地址的转换(例题+讲解);文件类型的考点
  • 【C++】手动实现nique_ptr智能指针
  • 解决AbortController中断请求无法再次请求
  • 招聘网站项目
  • Docker in Docker 实践 on mac
  • 跨越技术壁垒:EasyCVR为何选择支持FMP4格式,重塑视频汇聚平台标准
  • Jenkins+docker+springboot 一键自动部署项目步骤
  • docker-mysql容器数据卷挂载
  • 大端模式和小端模式
  • 对话万兴科技副总裁朱伟:2024年将迎来AI视频年
  • centos安装docker并配置加速器
  • LeetCode376 摆动序列
  • 《酒饮真经》第二部——劝酒十五式
  • 记录一下idea的一些使用技巧和遇到的异常(持续更新)
  • 【翻译】babel对TC39装饰器草案的实现
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java小白进阶笔记(3)-初级面向对象
  • JS 面试题总结
  • k个最大的数及变种小结
  • Laravel 菜鸟晋级之路
  • markdown编辑器简评
  • 二维平面内的碰撞检测【一】
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 搞机器学习要哪些技能
  • 技术:超级实用的电脑小技巧
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端性能优化--懒加载和预加载
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • const的用法,特别是用在函数前面与后面的区别
  • ​ubuntu下安装kvm虚拟机
  • # wps必须要登录激活才能使用吗?
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (2020)Java后端开发----(面试题和笔试题)
  • (7)STL算法之交换赋值
  • (javascript)再说document.body.scrollTop的使用问题
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (SpringBoot)第七章:SpringBoot日志文件
  • (分布式缓存)Redis持久化
  • (接口自动化)Python3操作MySQL数据库
  • (六)vue-router+UI组件库
  • (六)软件测试分工
  • (篇九)MySQL常用内置函数
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (一)Dubbo快速入门、介绍、使用
  • (一)插入排序
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转载)hibernate缓存
  • (转载)Linux 多线程条件变量同步
  • (转载)虚函数剖析
  • *ST京蓝入股力合节能 着力绿色智慧城市服务