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

python读取excel数据 附实战代码

在Python中,可以使用pandas库来读取Excel文件中的数据。下面是一个简单的例子:

import pandas as pd# 读取Excel文件
df = pd.read_excel('example.xlsx')# 显示前5行数据
print(df.head())

在上面的代码中,我们首先导入了pandas库,并使用pd.read_excel()函数来读取名为example.xlsx的Excel文件。读取的数据将被存储在一个名为df的DataFrame对象中。然后,我们使用df.head()函数来显示前5行数据。

如果需要读取特定的工作表或单元格数据,可以在read_excel()函数中使用参数进行指定。例如:

# 读取Excel文件的特定工作表
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')# 读取Excel文件的特定单元格数据
data = pd.read_excel('example.xlsx', sheet_name='Sheet1', header=None, index_col=0)

在上面的代码中,我们使用sheet_name参数来指定要读取的工作表的名称。如果要读取多个工作表,可以将它们作为列表传递给sheet_name参数。此外,我们还使用header=Noneindex_col参数来指定要读取的单元格范围和索引列。

除了读取Excel文件的内容,我们还可以进行更多的操作,例如修改单元格的值、添加新的单元格或工作表、删除单元格或工作表等。下面是一些示例代码:

# 修改单元格的值
df.at[0, 'A'] = 'new value'# 添加新的单元格
df.iloc[0, 2] = 'new value'# 添加新的工作表
new_data = pd.DataFrame({'B': [1, 2, 3], 'C': [4, 5, 6]})
writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
new_data.to_excel(writer, sheet_name='Sheet2')
writer.save()# 删除单元格
df.dropna(axis=0, how='all', inplace=True)# 删除工作表
writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()

在上面的代码中,我们使用df.at[]函数来修改特定单元格的值。使用df.iloc[]函数可以添加新的单元格。使用pd.ExcelWriter类可以创建新的工作表并保存更改。使用df.dropna()函数可以删除包含空值的单元格。最后,使用pd.ExcelWriter类将DataFrame对象保存到Excel文件中时,可以指定要保存的工作表名称。

除了对单元格和工作表的修改,我们还可以使用pandas库进行更高级的数据处理和分析。以下是一些示例代码:

# 计算每行的和
row_sums = df.sum(axis=1)# 计算每列的平均值
col_means = df.mean(axis=0)# 根据某列的值对数据进行排序
sorted_data = df.sort_values('C')# 按照某列的值将数据分组并计算每组的平均值
grouped_data = df.groupby('B').mean()

在上面的代码中,我们使用df.sum()函数和df.mean()函数分别计算每行和每列的和以及平均值。使用df.sort_values()函数可以根据特定列的值对数据进行排序。使用df.groupby()函数可以将数据按照特定列的值分组,并使用df.mean()函数计算每组的平均值。

这些只是pandas库的一些基本用法,它还提供了更多的功能和操作来处理和分析Excel文件中的数据。

相关文章:

  • 剑指offer 背包问题求具体方案
  • python接口自动化测试(单元测试方法)
  • 【UE5.1 MetaHuman】使用mixamo_converter把Mixamo的动画重定向给MetaHuman使用
  • Android多进程和跨进程通讯方式
  • 频谱论文:面向频谱地图构建的频谱态势生成技术研究
  • oracle aq java jms使用(数据类型为XMLTYPE)
  • 使用AppleScript自动滚动预览
  • 关于“Python”的核心知识点整理大全26
  • 【数据结构】八大排序之直接插入排序算法
  • 正则表达式入门与实践
  • C 库函数 - time()
  • 06 Rust 枚举类
  • dapper使用Insert或update时部分字段不映射到数据库
  • 什么是Symbol?在实际开发中怎么用?
  • 软件设计师——信息安全(一)
  • 【Leetcode】101. 对称二叉树
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • gitlab-ci配置详解(一)
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java超时控制的实现
  • js面向对象
  • k个最大的数及变种小结
  • node.js
  • Python_网络编程
  • React-生命周期杂记
  • 安装python包到指定虚拟环境
  • 工作中总结前端开发流程--vue项目
  • 基于axios的vue插件,让http请求更简单
  • 如何用vue打造一个移动端音乐播放器
  • 再谈express与koa的对比
  • raise 与 raise ... from 的区别
  • ​ubuntu下安装kvm虚拟机
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • $forceUpdate()函数
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (1)SpringCloud 整合Python
  • (3)nginx 配置(nginx.conf)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (python)数据结构---字典
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (四)c52学习之旅-流水LED灯
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)RocketMQ初步认识
  • (转载)Linux网络编程入门
  • .Net - 类的介绍
  • .net 怎么循环得到数组里的值_关于js数组
  • .net6 webapi log4net完整配置使用流程
  • .NET微信公众号开发-2.0创建自定义菜单
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @Mapper作用
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [1] 平面(Plane)图形的生成算法
  • [2016.7 test.5] T1
  • [20171113]修改表结构删除列相关问题4.txt
  • [20190416]完善shared latch测试脚本2.txt