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

Python 读写 Excel 文件库推荐和使用教程

文章目录

    • 前言
    • Python 读写 Excel 库简介
    • openpyxl 处理 Excel 文件教程
    • pandas 处理 Excel 文件教程
    • 总结

前言

Python 读写 Excel 文件的库总体看还是很多的, 各有其优缺点, 以下用一图总结各库的优缺点, 同时对整体友好的库重点介绍其使用教程。

Python 读写 Excel 库简介

库名称.xls.xlsx读取写入修改保存格式调整插入图片
xlrd×××××
xlwt××
xlutils××××
xlwings
XlsxWriter×××
openpyxl×
pandas×××

注: openpyxl: 优点是不依赖Excel,计算机上不安装Excel它也能读写Excel文件,所以适合做开发。

openpyxl 处理 Excel 文件教程

import openpyxldef learn_openpyxl_deal_excel(fileName):# https://openpyxl.readthedocs.io/en/stable/index.html# 1 读取文件wb = openpyxl.load_workbook(fileName)sheet = wb['Sheet1']for sheet in wb:  # 遍历所有 sheetprint(sheet.title)print(wb.sheetnames)# 2 获取单元格值# 1) 指定坐标范围的值cellss = sheet['A1:B5']# 2) 指定列的值cells = sheet['A']cellss = sheet['A:C']# 3) 指定行的值cells = sheet[5]cellss = sheet[5:7]# 4) 获取单元格的值 # 行下标从 1 开始 列下标从 0 开始print(sheet[1][0].value)# for cells in cellss:# for cell in cells:# print(cell.value)# 3 写入数据cell = sheet['D4']cell.value = '521'sheet.cell(1, 1).value = "write_Data"# 4 保存文件wb.save('data/new_data_openpyxl.xlsx')# 5 新建文件workbook = openpyxl.Workbook()worksheet = workbook.activeworksheet.title = 'newSheet'# 插入数据row = ["A", "B", "C"]worksheet.append(row)ws1 = workbook.create_sheet("Mysheet_End")  # insert at the end (default)ws2 = workbook.create_sheet("Mysheet_0", 0)  # insert at first positionws3 = workbook.create_sheet("Mysheet_pen", -1)  # insert at the penultimate positionworkbook.save('data/new_data_openpyxl_2.xlsx')workbook.close()if __name__ == "__main__":xlsx_path = 'data/data.xlsx'learn_openpyxl_deal_excel(xlsx_path)

pandas 处理 Excel 文件教程

import pandas as pddef learn_pandas_deal_excel(fileName):# https://pandas.pydata.org/docs/reference/api/pandas.read_excel.html#pandas.read_excel# https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_excel.html?highlight=excel#pandas.DataFrame.to_excel# 1 读取文件的同时必须指定工作表:sheet = pd.read_excel(fileName, sheet_name='Sheet1', index_col=False)# 2 获取单元格值# 第一行为标题行,所以从第二行才开始是其数据的第一行(idex=0)# print(sheet.head(2))# 1) 指定行的值 loc 根据所定义的index来获取行# print(sheet.loc[1])# print(sheet.iloc[1])# 2) 指定列的值print(sheet.iloc[:, 0]) # 列下标从 0 开始# 3) 获取单元格的值# print(sheet.loc[0][2])# 3 保存文件df = pd.DataFrame([1, 2, 3])df.to_excel("data/new_data_pandas.xlsx")if __name__ == "__main__":xls_path = 'data/data.xls'xlsx_path = 'data/data.xlsx'learn_pandas_deal_excel(xls_path)learn_pandas_deal_excel(xlsx_path)

总结

本博客提到的所有代码均可到我的 GitHub 下载。

相关文章:

Python 读写 Excel 文件库推荐和使用教程

文章目录 前言Python 读写 Excel 库简介openpyxl 处理 Excel 文件教程pandas 处理 Excel 文件教程总结 前言 Python 读写 Excel 文件的库总体看还是很多的, 各有其优缺点, 以下用一图总结各库的优缺点, 同时对整体友好的库重点介绍其使用教程…...

“深入解析JVM:理解Java虚拟机的工作原理和优化技巧“

标题:深入解析JVM:理解Java虚拟机的工作原理和优化技巧 摘要:本文将深入探讨Java虚拟机(JVM)的工作原理和优化技巧。我们将从JVM的基本结构开始,逐步介绍其工作原理,并提供一些实际示例代码&am…...

解决SEGGER Embedded Studio无法显示Nordic MCU外设寄存器问题

如果使用SES调试NRF52840的时候发现,官方例程只能显示CPU寄存器,但是无法显示外设寄存器时,解决办法如下: 1.在解决方案右键→Options→Debug→Debugger,然后Target Device选择正确的型号。 2.Register Definition Fil…...

Oracle-day1:scott用户、查询、取整、截取、模糊查询、别名——23/8/23

整理一下第一天软件测试培训的知识点 1、scott用户 -- 以system管理员登录锁定scott用户 alter user scott account lock;-- 以system管理员登录解锁scott用户 alter user scott account unlock;-- 以system管理员用户设置scott用户密码 alter user scott identfied by tiger…...

stm32之3.key开关

假设key电阻为40kΩ,则key0 的电压3.3v*4/52.64v 2.key开关代码 ② GPIO_OType_PP//推挽输出 GPIO_OType_PP//开漏输出 推挽输出是指输出端口可以同时提供高电平和低电平输出,而开漏输出则是指输出端口只能提供低电平输出,高电平时需要借…...

GPT带我学-设计模式-代理模式

什么是代理模式 代理模式(Proxy Pattern)是设计模式中的一种结构型模式,它为其他对象提供一种代理以控制对这个对象的访问。 代理模式有三个主要角色:抽象主题(Subject)、真实主题(Real Subje…...

VMware Workstation Pro 无法使用开机状态下拍的快照来克隆虚拟机,怎么解决?

环境: VMware Workstation Pro16.0 Win10 专业版 问题描述: VMware Workstation Pro有台虚拟机在开机状态下拍了个6.7快照这个win10初始版,现在想在这个快照下直接克隆,无法使用开机状态下拍的快照创建克隆 解决方案: 1.关闭当前虚拟机 2.到虚拟机文件夹复制一份Wind…...

【JAVA】XML及其解析技术、XML检索技术、设计模式

XML XML(Extensible Markup Language)是可扩展标记语言的缩写&#xff0c;它是一种数据表示格式&#xff0c;可以描述复杂的数据结构&#xff0c;常用于传输和存储数据 作用&#xff1a; 用于进行存储数据和传输数据作为软件的配置文件 第一行是文档声明 <?xml version&q…...

Ansible 自动化安装软件

例子如下&#xff1a; 创建一个名为/ansible/package.yml 的 playbook : 将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上 将 RPM Development Tools 软件包组安装到 dev 主机组中的主机上 将 dev 主机组中主机上的所有软件包更新为最新版本 --- - name:…...

简单介绍 React Native 整合 Formik 实现表单校验

Formik 是 React 和 React Native 开源表单库&#xff0c;Formik 负责处理重复且烦人的事情——跟踪值/错误/访问的字段、编排验证和处理提交——所以您不必这样做。而简化字段校验的话我们可以使用yup工具来实现。 首先安装Formik 和 Yup npm i formik npm i yupFormik 与 R…...

蓝帽杯半决赛2022

手机取证_1 iPhone手机的iBoot固件版本号:&#xff08;答案参考格式&#xff1a;iBoot-1.1.1&#xff09; 直接通过盘古石取证 打开 取证大师和火眼不知道为什么都无法提取这个 手机取证_2 该手机制作完备份UTC8的时间&#xff08;非提取时间&#xff09;:&#xff08;答案…...

电路学习+硬件每日学习十个知识点(40)23.8.20 (希腊字母读音,阶跃信号和冲激信号的关系式,信号的波形变换,信号的基本运算,卷积积分,卷积和)

文章目录 1.信号具有时间特性和频率特性。2.模拟转数字&#xff0c;抽样、量化、编码3.阶跃信号和冲激信号4.信号的波形变换&#xff08;时移、折叠、尺度变换&#xff09;5.信号的基本运算&#xff08;加减、相乘、微分与积分、差分与累加&#xff09;5.1 相加减5.2 相乘5.3 微…...

Python——列表(list)推导式

本文基于python3。 目录 1、Python推导式2、列表(list)推导式2.1、定义2.2、实际操作2.2.1、一个表达式&#xff0c;后面为一个 for 子句2.2.2、一个表达式&#xff0c;后面为一个 for 子句&#xff0c;然后&#xff0c;跟着if 子句。2.2.3、一个表达式&#xff0c;后面为一个…...

代码随想录算法训练营day43 | LeetCode 1049. 最后一块石头的重量 II 494. 目标和 474. 一和零

1049. 最后一块石头的重量 II&#xff08;题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台&#xff09; 思路&#xff1a;把全部石头重量加起来&#xff0c;然后除以二&#xff0c;就等于背包的最大容量。然后就可以按照背包问题…...

Linux安装jdk、mysql、并部署Springboot项目

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;Linux、环境安装、JDK安装、MySQL、MySQL安装☀️每日 一言&#xff1a;知行合一&#xff01; 文章目录 一、前言二、安装步骤2.1 安装JDK&#xff08;1&#xff09;创建文件夹&#xff08;便于后…...

tomcat更改端口号和隐藏端口号

因为默认端口:8080不会自动隐藏&#xff0c;因此为了更显格调需要将其改为:80 进入tomcat的server文件 将其改为80&#xff0c;之后将tomcat重新启动即可 tomcat启动流程 [rootshang ~]# cd /usr/local/tomcat/apache-tomcat-8.5.92 [rootshang apache-tomcat-8.5.92]# cd b…...

生信分析Python实战练习 2 | 视频19

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在&#xff1a;https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…...

wps设置其中几页为横版

问题&#xff1a;写文档的时候&#xff0c;有些表格列数太多&#xff0c;页面纵向显示内容不完整&#xff0c;可以给它改成横向显示。 将鼠标放在表格上一页的底部&#xff0c;点击‘插入-分页-下一页分节符’。 将鼠标放在表格页面的底部&#xff0c;点击‘插入-分页-下一页分…...

如何在Ubuntu 22.04上安装PHP 8.1并设置本地开发环境

引言 PHP是一种流行的服务器脚本语言&#xff0c;用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 8.1&#xff0c;并通过命令行设置本地编程环境。您还将安装依赖管理器Composer&#xff0c;并通过运行脚本来测试您…...

wazuh安装与使用

目录 一、wazuh安装 二、wazuh使用 一、wazuh安装 下载&#xff1a;https://wazuh.com 可以直接安装OVA这个&#xff0c;然后导入到Linux中就可以使用了。 导入完毕后开启&#xff0c;使用远程连接工具进行连接&#xff0c;出现以下画面则成功了。 之后可以看一下图形化界面…...

Vue 3 常见面试题汇总

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 前言 最近两年许多大厂都在实行“降本增效”、“优化组织架构”&#xff0c;然后“为社会输送了大量人才”&#xff0c;今年&#xff08;2023&#xff…...

Docker是什么?详谈它的框架、使用场景、优势

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、什么是 Docker&#xff1f; 二、Docker 的架构 1、Docker客户端 2、Docker守护进程 3、Docker镜像 4、Docker容器 5、Docker…...

neo4j

UNWIND 将列表里的值展开 CREATE (N0:Person {name: Anders}) CREATE (N1:Person {name: Becky}) CREATE (N2:Person {name: Cesar}) CREATE (N3:Person {name: Dilshad}) CREATE (N4:Person {name: George}) CREATE (N5:Person {name: Filipa})CREATE (N0)-[:KNOWS]->(N3)…...

【项目 计网5】 4.15 TCP通信实现(服务器端)4.16 TCP通信实现(客户端)

文章目录 4.15 TCP通信实现&#xff08;服务器端&#xff09;4.16 TCP通信实现&#xff08;客户端&#xff09; 4.15 TCP通信实现&#xff08;服务器端&#xff09; // TCP 通信的服务器端// TCP 通信的服务器端 #include <stdio.h> #include <arpa/inet.h> #incl…...

windows可视化界面管理服务器上的env文件

需求&#xff1a;在 Windows 环境中通过可视化界面编辑位于 Linux 主机上的 env 文件的情况&#xff0c;我现在环境是windows环境&#xff0c;我的env文件在linux的192.168.20.124上&#xff0c;用户是op&#xff0c;密码是op&#xff0c;文件绝对路径是/home/op/compose/env …...

自然语言处理在智能客服和聊天机器人中的应用

文章目录 1. 引言2. NLP基础2.1 词法分析2.2 语法分析2.3 语义理解2.4 情感分析 3. 智能客服中的应用3.1 自动问答3.2 意图识别3.3 情感分析与情绪识别 4. 聊天机器人中的应用4.1 对话生成4.2 上下文理解 5. 技术原理与挑战5.1 语言模型5.2 数据质量和多样性5.3 上下文理解 6. …...

为什么不建议使用@Async注解创建线程

1 前言 在很久很久之前&#xff0c;我有一段痛苦的记忆。那种被故障所驱使的感觉&#xff0c;在我脑海里久久无法驱散。 原因无它&#xff0c;有小伙伴开启了线程池的暴力使用模式。没错&#xff0c;就是下面这篇文章。 夺命故障 ! 炸出了投资人&#xff01; 我有必要简单的…...

更新Ubuntu18.04上的CUDA和GCC

问题&#xff1a; 有一台服务器的GPU是1080&#xff0c;有八张卡&#xff0c;已经好久没有人用了。cuda版本是10.1,我现在拿来复现一些论文的模型&#xff0c;经常遇到版本依赖问题&#xff0c;报错Driver is too old。所以要更新一下驱动。遇到的主要问题是gcc版本也太低了&am…...

算法通过村第6关【青铜】| 如何通过中序和后序遍历恢复二叉树

中序&#xff1a;3 4 8 6 7 5 2 1 10 9 11 15 13 14 12 后序&#xff1a;8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 通过这两个遍历顺序恢复二叉树 首先我们知道中序遍历顺序左中右&#xff0c;后序遍历顺序左右中 第一步&#xff1a; 由后序遍历确定根结点为1 > 由中序遍历…...

高斯牛顿法和LM算法异同示例

LM&#xff08;Levenberg-Marquardt&#xff09;算法和高斯牛顿&#xff08;Gauss-Newton&#xff09;算法是两种用于非线性最小二乘问题的优化算法&#xff0c;它们也有一些相似之处&#xff1a; 迭代优化&#xff1a;LM算法和高斯牛顿算法都使用迭代的方式来优化参数值&#…...

网络营销企业网站设计/宁波pc营销型网站制作

在调用存储过程中&#xff0c;就会涉及到表锁&#xff0c;行锁这一概念&#xff1a;所谓区别&#xff1a;有索引的时候就是行锁&#xff0c;没有索引的时候就是表索。 innodb 的行锁是在有索引的情况下,没有索引的表是锁定全表的. 表锁演示&#xff08;无索引&#xff09; Sess…...

微网站费用/泰安百度推广公司

喜欢文章内容可以点个赞❤支持一下&#xff0c;更多内容请关注老毕浏览器如果你想了解更多好用的浏览器可以参考下面的这篇文章毕达哥拉斯&#xff1a;2020你值得拥有的浏览器​zhuanlan.zhihu.com今天介绍的七款浏览器有Google Chrome、Mozilla Firefox、Cent Browser&#xf…...

wordpress 空间商/app联盟推广平台

CRM客户关系管理系统源码 crm小程序源码 基于springbootvue MySQL数据库开发的客户关系管理系统。 客户全流程高效管理&#xff0c;客户资料管理&#xff0c;客户跟踪管理&#xff0c;订单、合同管理&#xff0c;回款及交付管理等功能。 功能介绍 1、系统管理&#xff1a;员工…...

跟随网站滚动的悬浮框怎么做/电商卖货平台有哪些

先上一个简单的流程示意图然后再从客户端输入用户名和密码开始说起&#xff1a;1、客户端输入用户名和密码登录渠道流程&#xff1a;1 客户端输入渠道账号user_name和密码password&#xff1b;2 登录&#xff0c;登录SDK成功之后&#xff0c;会返回一个token令牌&#xff1b;3 …...

旅游网站ppt应做的内容/手机怎么建立网站

一、表的关系分析&#xff1a;用户和订单&#xff1a;一个用户可以有多个订单&#xff0c;但每个订单只能属于一个用户&#xff0c;所以是一对多的关系。商品和分类&#xff1a;一个产品只能有一种分类&#xff0c;而一个分类可以有多种产品&#xff0c;所以是多对一的关系。订…...

模板做网站多少钱/巨量算数数据分析

十年之前的1月20日&#xff0c;Michel Schinz宣布了Scala编程语言的第一个实现。在宣布之时&#xff0c;Scala被描述为“一种平滑地集成了面向对象编程和函数式编程的语言”&#xff0c;而且“是为以简洁、优雅且类型安全的方式表达常见编程模式而设计的”。\u0026#xD;当时是这…...