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文件中的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/253980.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C/C++常见面试知识总结(三)

C语言是一种通用计算机(高级)编程语言;面向过程;广泛应用于计算机系统设计以及应用程序编写;设计目标,是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行…

springcloud微服务篇--5.Nacos注册中心

目录 一、认识Nacos 二、集成nacos 1.1添加依赖 1.2 注释掉order-service和user-service中原有的eureka依赖。(避免冲突) 1.3 注释eureka之后,添加nacos的客户端依赖: 三、服务注册到nacos 1、修改配置文件 2、启动并测试 四…

【网络安全】网络防护之旅 - Java安全机制探秘与数字证书引爆网络防线

🌈个人主页:Sarapines Programmer🔥 系列专栏:《网络安全之道 | 数字征程》⏰墨香寄清辞:千里传信如电光,密码奥妙似仙方。 挑战黑暗剑拔弩张,网络战场誓守长。 目录 😈1. 初识网络安…

RTOS中任务的创建与删除

我们在stm32f103c8t6单片机上验证RTOS中任务的创建与删除,利用stm32cube进行RTOS的配置。在选择TIM2当做RTOS的时钟,裸机的时钟源默认是 SysTick,但是开启 FreeRTOS 后,FreeRTOS会占用 SysTick (用来生成1ms 定时&…

camera曝光时间

曝光和传感器读数 相机上的图像采集过程由两个不同的部分组成。第一部分是曝光。曝光完成后,第二步就是从传感器的寄存器中读取数据并传输(readout)。 曝光:曝光是图像传感器进行感光的一个过程,相机曝光时间&#xf…

JWT令牌的作用和生成

JWT令牌(JSON Web Token)是一种用于身份验证和授权的安全令牌。它由三部分组成:头部、载荷和签名。 JWT令牌的作用如下: 身份验证:JWT令牌可以验证用户身份。当用户登录后,服务器会生成一个JWT令牌并返回…

Python实验项目9 :网络爬虫与自动化

实验 1:爬取网页中的数据。 要求:使用 urllib 库和 requests 库分别爬取 http://www.sohu.com 首页的前 360 个字节的数据。 # 要求:使用 urllib 库和 requests 库分别爬取 http://www.sohu.com 首页的前 360 个字节的数据。 import urllib.r…

当心字符串连接的性能

在Java中,字符串连接的性能问题同样需要注意,尤其是在循环中进行大量连接操作时。Java中的字符串是不可变的,因此每次连接字符串都会产生一个新的字符串对象,可能导致性能下降。以下是一些示例,演示了不同方法的字符串…

YOLOv5改进 | SPPF篇 | FocalModulation替换SPPF(精度更高的空间金字塔池化)

一、本文介绍 本文给大家带来的改进是用FocalModulation技术来替换了原有的SPPF(快速空间金字塔池化)模块。FocalModulation是今年新提出的特征增强方法,它利用注意力机制来聚焦于图像中的关键区域,从而提高模型对这些区域的识别…

什么是缓存击穿、缓存穿透、缓存雪崩?

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

在计算机专业中,应该把学习的重点放在哪里?

在计算机专业中,应该把学习的重点放在哪里?这是许多计算机专业学生常常面临的关键问题。随着计算机科技的快速发展,学生们往往陷入了各种各样的选择和困惑中。是将时间投入到深奥的数学领域,还是专注于编程技能的磨练?…

0x17 二叉堆

0x17 二叉堆 二叉堆是一种支持插入、删除、查询最值的数据结构。它其实是一种满足“堆性质”的完全二叉树,树上的每一个节点带有一个权值。若树中的任意一个节点的权值都小于等于其父节点的权值,则称该二叉树满足“大根堆性质”,称其为“大根…

微信小程序:布局样式

效果 wxml <view class"layout"><view class"left"><view>1</view><view>1</view><view>1</view><view>1</view><view>1</view></view><view class"right"&…

2023 亚马逊云科技 re:Invent 大会探秘:Aurora 无限数据库的突破性应用

文章目录 一、前言二、Amazon Aurora 无限数据库2.1 亚马逊云科技数据库产品发展历程2.2 什么是 Amazon Aurora Limitless Database&#xff08;无限数据库&#xff09;2.3 Amazon Aurora Limitless Database 设计架构2.4 Amazon Aurora Limitless Database 分片功能2.5 使用 A…

c语言:判断是否为整数|练习题

一、题目 输入一个数字&#xff0c;判断该数字是否为整数 如图&#xff1a; 二、思路分析 1、没有小数部分的数字&#xff0c;即为整数。所以&#xff0c;只要知道该数字是否有小数部分&#xff0c;即可。 2、例子&#xff1a;1.5减去10.5&#xff0c;由于有小数部分&#xff0…

跟着官网学 Vue - 插槽

Vue 插槽是一种强大的组件通信方式。 插槽内容与出口 在 Vue 中&#xff0c;插槽是一种让父组件向子组件传递内容的方式。子组件使用 <slot> 元素作为插槽出口&#xff0c;父组件可以通过插槽内容填充这些空白区域。 示例&#xff1a; <!-- MyButton.vue --> &…

解决“bat中文路径乱码“问题

今天&#xff0c;在使用.bat脚本&#xff0c;将hello.png从"D:\mypic\备份"目录&#xff0c;拷贝到"D:\mypic\备份"时&#xff1b;发现中文乱码,弹出如下对话框: 图(1) bat中文路径乱码 原来的命令是&#xff1a; copy D:\mypic\one\hello.png D:\mypic\备…

PIG框架学习1——密码模式登录认证获取Token流程

文章目录 O、前言一、总流程概括&#xff1a;二、具体流程分析PIG提供的具体流程图&#xff1a;鉴权请求报文示例0、网关前置处理1、客户端认证处理2、正式接受登录请求3、组装认证对象4、认证管理器进行认证&#xff08;授权认证调用&#xff09;5、认证成功处理器 O、前言 对…

读取小数部分

1.题目描述 2.题目分析 //假设字符串为 char arr[] "123.4500"; 1. 找到小数点位置和末尾位置 代码如下&#xff1a; char* start strchr(arr, .);//找到小数点位置char* end start strlen(start) - 1;//找到末尾位置 如果有不知道strchr()用法的同学&#xf…

Yapi详细安装过程(亲测可用)

1. 前置条件 1、Git 2、NodeJs&#xff08;7.6&#xff09; 3、Mongodb&#xff08;2.6&#xff09; 2. NodeJs的安装 1、获取资源 curl -sL https://rpm.nodesource.com/setup_8.x | bash - 2、安装NodeJS yum install -y nodejs 3、查看NodeJs和Npm node -v npm -v…