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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ImageNet 数据集介绍

首先介绍ImageNet 1K数据集: This dataset provides access to ImageNet (ILSVRC) 2012 which is the most commonly used subset of ImageNet. This dataset spans 1000 object classes and contains 1,281,167 training images, 50,000 validation images and 10…

Java 第12章 异常 本章作业

1 编程 两数相除的异常处理 各自属于哪些异常: 数据格式不正确 NumberformatException 缺少命令行参数 ArrayIndexOutOfBoundsException 除0异常处理 ArithmeticException ArrayIndexOutOfBoundsException 为数组下标越界时会抛出的异常,可以在检测到命…

C语言学习day09:运算符优先级

运算符优先级: //& 假如设一个int a; 给a一个变量; &a取a对应的地址 优先级运算符名称或含义使用形式结合方向说明1[1,2,3,4]数组下标数组名[常量表达形式]左到右()圆括号(表达式)/函数名(形参).成员选择(对象)对象.成员名->成员选择(指…

C++继承中同名非静态成员与静态成员的处理(学习笔记)

非静态成员&#xff1a; 定义一个父类Base&#xff0c;子类Son class Base { public:int m_A 10;int m_B 200;void fun(){cout << "父类函数" << endl;}void fun(int a){cout << a << endl;} }; class Son : public Base { public:int m…

GO的sql注入盲注脚本

之间学习了go的语法 这里就开始go的爬虫 与其说是爬虫 其实就是网站的访问如何实现 因为之前想通过go写sql注入盲注脚本 发现不是那么简单 这里开始研究一下 首先是请求网站 这里貌似很简单 package mainimport ("fmt""net/http" )func main() {res, …

C语言数据结构-----二叉树(3)二叉树相关练习题

前言 前面详细讲述了二叉树的相关知识&#xff0c;为了巩固&#xff0c;做一些相关的练习题 文章目录 前言1.某二叉树共有 399 个结点&#xff0c;其中有 199 个度为 2 的结点&#xff0c;则该二叉树中的叶子结点数为&#xff1f;2.下列数据结构中&#xff0c;不适合采用顺序存…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《市场环境下考虑全周期经济效益的工业园区共享储能优化配置》

这个标题涉及到工业园区中共享储能系统的优化配置&#xff0c;考虑了市场环境和全周期经济效益。以下是对标题中各个要素的解读&#xff1a; 市场环境下&#xff1a; 指的是工业园区所处的商业和经济背景。这可能包括市场竞争状况、电力市场价格波动、政策法规等因素。在这一环…

WordCloud—— 词云

【说明】文章内容来自《机器学习入门——基于sklearn》&#xff0c;用于学习记录。若有争议联系删除。 wordcloud 是python的第三方库&#xff0c;称为词云&#xff0c;也成文字云&#xff0c;可以根据文本中的词频以直观和艺术化的形式展示文本中词语的重要性。 依赖于pillow …

kotlin 基础概览

继承类/实现接口 继承类和实现接口都是用的 : &#xff0c;如果类中没有构造器 ( constructor )&#xff0c;需要在父类类名后面加上 () &#xff1a; class MainActivity : BaseActivity(), View.OnClickListener 空安全设计 Kotlin 中的类型分为「可空类型」和「不可空类型」…

浏览器js中添加日志断点

一、需求 本地调试时&#xff0c;可以直接代码里使用console.log直接调试&#xff1b; 代码已更新到服务器&#xff0c;不想要提交代码&#xff0c;如何通过添加console.log调试呢 二、实现 使用浏览器添加日志断点的方式&#xff0c;当然vue这种打包的不可行哦 设置完成后…

【算法】bfs与dfs算法解决FloodFill(洪流)问题(C++)

文章目录 1. 什么是FloodFill问题2. 用什么方法解决FloodFill问题3. 具体例题773.图像渲染200.岛屿数量695.岛屿的最大面积130.被围绕的区域 1. 什么是FloodFill问题 一般floodfill问题可以描述为&#xff1a;给定一个二维矩阵&#xff0c;其中每个元素代表一个像素点&#xf…

setXxx getXxx 封装

1.封装介绍 封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作[方法],才能对数据进行操作。 2.封装的理解和好处 (1)隐藏实现细节 方法(连接数据库)<-----调用(传入参数...) 只负责调…

寻找最大整数 C语言xdoj51

问题描述 从键盘输入四个整数&#xff0c;找出其中的最大值并将其输出。 输入说明 输入4个整数&#xff0c;用空格分隔 输出说明 输出值最大的一个整数 输入样例 25 99 -46 0 输出样例 99 #include <stdio.h>//寻找最大整数 int main() {int i, a[4]…

【Gradle】运行时一直要下载 gradle-8.5-bin.zip

如何解决 Downloading https://services.gradle.org/distributions/gradle-8.5-bin.zip 的问题 文章目录 1. 问题描述2. 解决方法1&#xff09;找到 gradle-wrapper.properties2&#xff09;修改 distributionUrl 对应的值 3. 验证 1. 问题描述 在执行 gradlew 命令的时候&…

【Shell命令】常用命令使用合集(由AI助力,持续更新)

在当前这个AI大语言模型横行的时代&#xff0c;如果还不尝试去使用它们&#xff0c;那可真的太out啦&#xff01; 本文不是介绍Shell命令如何使用的文章&#xff0c;仅仅是提出需求&#xff0c;让AI回答后&#xff0c;记录正确的答案&#xff0c;供日后快速参考&#xff08;本…

Java语言+二维数组+非递归实现五子棋游戏

以前做过一个C语言版五子棋&#xff1a;&#xff23;语言&#xff0b;二维数组&#xff0b;非递归实现五子棋游戏 现在做一个Java语言版五子棋&#xff0c;规则如下&#xff1a; 1&#xff64;白子为O; 2&#xff64;黑子为&#xff1b; 3&#xff64;白子先手&#xff1b;…

计算机入门了解

计算机入门了解 一&#xff0e; 语言方面学习 1. C/C: C是面向过程的语言&#xff0c;C是在C语言的基础上发展起来的语言&#xff0c;他兼容99%的C。C比C多了面向对象的开发思想&#xff0c;引入了类class等知识。C/C学习难度大。C更偏向于底层&#xff0c;C/C运行编译速度快…

【数据结构】(堆)Top-k|堆排序

目录 概念&#xff1a; 堆的实现 构建 初始化 销毁 插入元素 往上调整 删除堆顶元素 往下调整 返回堆顶元素 返回有效个数 是否为空 堆排序 Top-k问题 ​编辑 创建数据 堆top-k 概念&#xff1a; 堆是将数据按照完全二叉树存储方式存储到一维数组中&#xff…

[计网00] 计算机网络开篇导论

目录 前言 计算机网络的概念 计算机网络的分层 计算机网络的分类 网络的标准化工作和相关组织 计算机网络的性能指标 前言 计算机网络在我们的日常生活中无处不在 在网络会有各种各样的协议和封装 保证我们的信息完整,无误的在各个客户端之前传输 计算机网络的概念 四…

vue3写法

一. <script setup> 1. 引入组件 import Head from "./conponents/head.vue" 2. 声明变量 // 引入 ref import { ref } from vue const isNeedNav ref(true) 3. 声明方法 const changeLossd () > {lossdVisible.value !lossdVisible.value } 4.生…