Python 处理 Excel 表格的 14 个常用操作

目录

1. 安装依赖库

2. 导入库

3. 读取Excel文件

4. 写入Excel文件

5. 创建工作表

6. 访问工作表

7. 读取单元格数据

8. 写入单元格数据

9. 获取行数和列数

10. 过滤数据

11. 排序数据

12. 添加新行

13. 删除行或列

14. 计算汇总统计

总结


无论是数据分析师、财务专员还是研究人员,Excel都是日常工作中必不可少的工具之一。而借助Python的强大功能,能够极大地提高Excel数据处理的效率和灵活性。接下来,让我们一起探索这些常用的Excel操作,为工作流程注入更多的便利和效率吧!

 

1. 安装依赖库

在命令行中使用`pip`命令安装`pandas`和`openpyxl`库,这两个库分别用于处理Excel和读/写Excel文件。


   pip install pandas openpyxl

2. 导入库

在Python脚本中导入`pandas`和`openpyxl`库。

import pandas as pdfrom openpyxl import Workbook, load_workbook

3. 读取Excel文件

使用`read_excel()`函数从Excel文件中读取数据,该函数返回一个DataFrame对象,其中包含了Excel文件中的数据。


   data = pd.read_excel('filename.xlsx')

   注意,`filename.xlsx`是Excel文件的名称。

4. 写入Excel文件

使用`to_excel()`函数将数据写入Excel文件,该函数将DataFrame对象中的数据写入指定的Excel文件。


   data.to_excel('new_filename.xlsx', index=False)

   `index=False`表示不包含索引列。

5. 创建工作表

使用`create_sheet()`函数创建一个新的工作表。

   workbook = Workbook()worksheet = workbook.create_sheet('Sheet1')

   在这个例子中,我们创建了一个名为'Sheet1'的新工作表。

6. 访问工作表

使用`active`属性或`get_sheet_by_name()`函数访问现有工作表。

 

 worksheet = workbook.active# 或worksheet = workbook.get_sheet_by_name('Sheet1')

   `active`属性访问活动的工作表,而`get_sheet_by_name()`函数访问具有指定名称的工作表。

7. 读取单元格数据

使用`cell()`方法获取特定单元格的值,需要提供行号和列号。


   cell_value = worksheet.cell(row=1, column=1).value

   这个例子中,我们读取了第一行第一列的单元格数据。

8. 写入单元格数据

使用`cell()`方法将值写入特定的单元格,同样需要提供行号和列号。

   
   worksheet.cell(row=1, column=1, value='Hello')

   这个例子中,在第一行第一列的单元格写入了字符串'Hello'。

9. 获取行数和列数

使用`shape`属性获取数据表的行数和列数。

 num_rows = data.shape[0]num_cols = data.shape[1]

   `shape`属性返回一个包含行数和列数的元组。

10. 过滤数据

使用条件筛选语句过滤数据,例如,根据某一列的值大于特定值来过滤数据。


    filtered_data = data[data['Column'] > 10]

    这个例子中,我们过滤了具有'Column'列大于10的数据。

11. 排序数据

使用`sort_values()`函数按照指定列对数据进行排序。


    sorted_data = data.sort_values(by='Column')

    这个例子中,我们按照'Column'列对数据进行升序排序。

12. 添加新行

使用`append()`函数将新行数据添加到DataFrame对象中。
   

new_data = pd.DataFrame({'A': [1], 'B': [2], 'C': [3]})data = data.append(new_data, ignore_index=True)

    这个例子中,我们添加了一个包含'A'、'B'和'C'列的新行数据。

13. 删除行或列

使用`drop()`函数删除特定的行或列。

 data = data.drop(index=0) # 删除第一行data = data.drop(columns=['Column1', 'Column2']) # 删除指定列

    这个例子中,我们删除了第一行和名为'Column1'和'Column2'的列。

14. 计算汇总统计

使用`describe()`函数计算数据的基本统计信息,例如,均值、标准差等。


    summary_stats = data.describe()

    这个例子中,我们计算了数据的基本统计信息。

这些是使用Python处理Excel时常用的操作。根据具体需求,您可以选择其中一个或多个操作来处理和操作Excel文件。希望对您有所帮助!

总结

从读取和写入Excel文件、创建和访问工作表,到单元格数据的读取和写入,再到数据的过滤、排序和汇总统计,这些操作涵盖了数据处理过程中的关键步骤。使用Python处理Excel,不仅能够提高工作效率,还能为数据处理提供更多的灵活性和定制化选项。

同时要注意的是,这只是Excel处理中的冰山一角,Python在处理Excel方面还有更多强大的功能和库可供探索,例如xlrd、xlwt、xlsxwriter等。在工作中如果能够根据实际需求灵活运用这些技巧和工具,那么将大大提升数据处理的效率和质量。

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

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

相关文章

Mybatis的环境搭建

目录 一.Mybatis的环境搭建 1.创建项目 2.进行相关配置 3.安装插件 4.插件的使用 一.Mybatis的环境搭建 1.创建项目 1.1 创建Maven项目,配置好相应的JDK和archetype 1.2 给项目命名和创建目录结构 1.3 添加自定义Property自定义属性 2.进行相关配置 2.1 导入p…

MySQL 安装 audit 日志审计插件

下载 我的MySQL版本是 5.7.37的,用的是日志审计插件(audit-plugin)是1.1.10的,大家可以对应自己版本去下载。 https://github.com/trellix-enterprise/mysql-audit/releases 配置 1、进入到/opt目录下载 audit,可以…

11. 盛最多水的容器

链接 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。说明:你不能倾斜容器。 示例…

Spring Clould 负载均衡 - Ribbon

视频地址:微服务(SpringCloudRabbitMQDockerRedis搜索分布式) Ribbon-负载均衡原理(P14) 具体实现时通过LoaBalanced注解实现,表示RestTemplate要被Ribbon拦截处理 orderservice调用user时候&#xff0c…

面试之快速学习STL-容器适配器

1. 容器适配器 简单的理解容器适配器,其就是将不适用的序列式容器(包括 vector、deque 和 list)变得适用。 注意:默认使用的基础容器不代表一定只能用它,比如queue可以用deque,list。 如果你希望你的qu…

perl下载与安装教程【工具使用】

Perl是一个高阶程式语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由 sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。Perl对 process、档案,和文字有很强…

【腾讯云Cloud Studio实战训练营】用Vue+Vite快速构建完成交互式3D小故事

👀前置了解:(官网 https://cloudstudio.net/) 什么是Cloud Studio? Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装&#…

通讯录的实现

> 作者简介:დ旧言~,目前大一,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 望小伙伴们点赞👍收藏✨加关注哟💕&#x1…

谷歌推出首款量子弹性 FIDO2 安全密钥

谷歌在本周二宣布推出首个量子弹性 FIDO2 安全密钥,作为其 OpenSK 安全密钥计划的一部分。 Elie Bursztein和Fabian Kaczmarczyck表示:这一开源硬件优化的实现采用了一种新颖的ECC/Dilithium混合签名模式,它结合了ECC抵御标准攻击的安全性和…

Tomcat 一次请求的生命周期

在使用 Tomcat 的时候,我们只需要在 Servlet 实现类中写我们的业务逻辑代码即可,不需要管 Socket 连接、协议处理要怎么实现,因为这部分作为不经常变动的部分,被封装到了 Tomcat 中,程序员只需要引入 Tomcat 中即可&am…

【LeetCode-中等题】49. 字母异位词分组

题目 题解一:排序哈希表 思路:由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表的键。 核心api: //将字符串转换为字符数组char[] ch str.toCharArray();…

页面滑动到可视区域加载更多内容思维流程

页面滑动到可视区域加载更多内容思维流程

GEEMAP 中如何拉伸图像

图像拉伸是最基础的图像增强显示处理方法,主要用来改善图像显示的对比度,地物提取流程中往往首先要对图像进行拉伸处理。图像拉伸主要有三种方式:线性拉伸、直方图均衡化拉伸和直方图归一化拉伸。 GEE 中使用 .sldStyle() 的方法来进行图像的…

Android岗位技能实训室建设方案

一 、系统概述 Android岗位技能作为新一代信息技术的重点和促进信息消费的核心产业,已成为我国转变信息服务业的发展新热点:成为信息通信领域发展最快、市场潜力最大的业务领域。互联网尤其是移动互联网,以其巨大的信息交换能力和快速渗透能力…

机器学习编译系列---张量程序抽象

机器学习编译系列---张量程序抽象 1. 张量函数概念的引入与抽象的必要性 1. 张量函数概念的引入与抽象的必要性 在文章机器学习编译系列—概述中提到,机器学习编译的一个很重要操作是做等价变换来减少内存或者提高运行效率。变换是以“元张量函数”(private tensor …

Viewpager2+Fragment+指示器

Viewpager2Fragment指示器 效果展示: MainActivity.java package com.huawei.myviewpager;import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.viewpager2.widget.ViewPager2;import android.os.Bundle; …

小白到运维工程师自学之路 第七十五集 (Kubernetes 企业级高可用部署)2

8、添加master节点 在k8s-master2和k8s-master3节点创建文件夹 mkdir -p /etc/kubernetes/pki/etcd在k8s-master1节点执行 从k8s-master1复制密钥和相关文件到k8s-master2和k8s-master3 scp /etc/kubernetes/admin.conf root192.168.77.15:/etc/kubernetes scp /etc/kubernet…

jmap(Memory Map for Java)Java内存映像工具

jmap(Memory Map for Java)Java内存映像工具 jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapdump或dump文件) 如果不使用jmap命令,要想获取Java堆转储快照也还有一些比较“暴…

RabbitMq:Topic exchange(主题交换机)的理解和使用

RabbitMq:Topic exchange(主题交换机)的理解和使用 在RabbitMq中,生产者的消息都是通过交换机来接收,然后再从交换机分发到不同的队列中去,在分发的过程中交换机类型会影响分发的逻辑,下面主要讲解一下主题交换机。 ​ 主题交换…

2023面试八股文 ——Java基础知识

Java基础知识 一.Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同&#xff1f…