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)是可扩展标记语言的缩写,它是一种数据表示格式,可以描述复杂的数据结构,常用于传输和存储数据 作用: 用于进行存储数据和传输数据作为软件的配置文件 第一行是文档声明 <?xml version&q…...
Ansible 自动化安装软件
例子如下: 创建一个名为/ansible/package.yml 的 playbook : 将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上 将 RPM Development Tools 软件包组安装到 dev 主机组中的主机上 将 dev 主机组中主机上的所有软件包更新为最新版本 --- - name:…...
简单介绍 React Native 整合 Formik 实现表单校验
Formik 是 React 和 React Native 开源表单库,Formik 负责处理重复且烦人的事情——跟踪值/错误/访问的字段、编排验证和处理提交——所以您不必这样做。而简化字段校验的话我们可以使用yup工具来实现。 首先安装Formik 和 Yup npm i formik npm i yupFormik 与 R…...
蓝帽杯半决赛2022
手机取证_1 iPhone手机的iBoot固件版本号:(答案参考格式:iBoot-1.1.1) 直接通过盘古石取证 打开 取证大师和火眼不知道为什么都无法提取这个 手机取证_2 该手机制作完备份UTC8的时间(非提取时间):(答案…...
电路学习+硬件每日学习十个知识点(40)23.8.20 (希腊字母读音,阶跃信号和冲激信号的关系式,信号的波形变换,信号的基本运算,卷积积分,卷积和)
文章目录 1.信号具有时间特性和频率特性。2.模拟转数字,抽样、量化、编码3.阶跃信号和冲激信号4.信号的波形变换(时移、折叠、尺度变换)5.信号的基本运算(加减、相乘、微分与积分、差分与累加)5.1 相加减5.2 相乘5.3 微…...
Python——列表(list)推导式
本文基于python3。 目录 1、Python推导式2、列表(list)推导式2.1、定义2.2、实际操作2.2.1、一个表达式,后面为一个 for 子句2.2.2、一个表达式,后面为一个 for 子句,然后,跟着if 子句。2.2.3、一个表达式,后面为一个…...
代码随想录算法训练营day43 | LeetCode 1049. 最后一块石头的重量 II 494. 目标和 474. 一和零
1049. 最后一块石头的重量 II(题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台) 思路:把全部石头重量加起来,然后除以二,就等于背包的最大容量。然后就可以按照背包问题…...
Linux安装jdk、mysql、并部署Springboot项目
😜作 者:是江迪呀✒️本文关键词:Linux、环境安装、JDK安装、MySQL、MySQL安装☀️每日 一言:知行合一! 文章目录 一、前言二、安装步骤2.1 安装JDK(1)创建文件夹(便于后…...
tomcat更改端口号和隐藏端口号
因为默认端口:8080不会自动隐藏,因此为了更显格调需要将其改为:80 进入tomcat的server文件 将其改为80,之后将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 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…...
wps设置其中几页为横版
问题:写文档的时候,有些表格列数太多,页面纵向显示内容不完整,可以给它改成横向显示。 将鼠标放在表格上一页的底部,点击‘插入-分页-下一页分节符’。 将鼠标放在表格页面的底部,点击‘插入-分页-下一页分…...
如何在Ubuntu 22.04上安装PHP 8.1并设置本地开发环境
引言 PHP是一种流行的服务器脚本语言,用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 8.1,并通过命令行设置本地编程环境。您还将安装依赖管理器Composer,并通过运行脚本来测试您…...
wazuh安装与使用
目录 一、wazuh安装 二、wazuh使用 一、wazuh安装 下载:https://wazuh.com 可以直接安装OVA这个,然后导入到Linux中就可以使用了。 导入完毕后开启,使用远程连接工具进行连接,出现以下画面则成功了。 之后可以看一下图形化界面…...
从零到精通Gemini Deep Research:手把手带跑通生物医药/法律/金融三大垂直领域真实案例
更多请点击: https://intelliparadigm.com 第一章:Gemini Deep Research功能概览与核心价值 Gemini Deep Research 是 Google 推出的面向专业研究者的增强型推理能力模块,专为处理长上下文、跨文档溯源、多跳逻辑推演与学术可信验证而设计。…...
Photoshop无法识别Midjourney v6生成的.exr/.hdr文件?独家逆向工程解析其自定义EXIF标签结构,并提供开源Python元数据修复工具包(GitHub Star超2.1k)
更多请点击: https://intelliparadigm.com 第一章:Photoshop无法识别Midjourney v6生成的.exr/.hdr文件?独家逆向工程解析其自定义EXIF标签结构,并提供开源Python元数据修复工具包(GitHub Star超2.1k) Mid…...
模块化电脑设计:从主板重构到硬件可持续性的创新实践
1. 项目概述:当“模块化”遇见“不无聊”的桌面电脑如果你觉得桌面电脑已经是一潭死水,被一体机和笔记本挤压得毫无新意,那 Xi3 这家硬件初创公司可能会让你眼前一亮。2012年,他们带着一个大胆的宣言闯入市场:要彻底改…...
不使用库函数,实现 strcpy,strcat,strcmp
文章目录 1、strcpy 原型2、strcmp 原型 1、strcpy 原型 char* strcpy(char* des, const char* source) {char* r des;assert((des ! NULL) && (source ! NULL));while((*r *source)!\0);return des; }可以自行实现: char* myStrcpy(char* dest, char* …...
iOS 27 开放 AI 生态@ACP#专业视频处理新标杆 ——GSV9001E/S 赋能 iPhone AI 多屏智能显示
一、iOS 27 开放 AI:引爆专业视频处理与多屏显示刚需iOS 27 全面开放第三方 AI 模型,iPhone 成为 AI 内容生成、多源信号整合、智能交互核心,直接催生AI 多屏拼接、无缝切换、画中画、HDR/SDR 转换、车载 / 工控多视图、医疗 AI 显示六大专业…...
CANN昇腾算子开发套件
SetSingleOutputShape 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://g…...
Obsidian 坚果云同步最佳实践:Nutstore Sync 大仓库提速、冲突策略、.obsidian配置同步与恢复方案
适用人群:Obsidian 重度用户(上千/上万文件、图片/附件多、跨设备高频编辑、对稳定性与可恢复性要求高)。 强烈建议:操作前先把整个 Vault 复制一份做离线备份。 1. 你要解决的不是“能不能同步”,而是“同步体系” 重…...
Arm CoreSight调试架构与寄存器安全机制详解
1. Arm CoreSight调试架构概述在嵌入式系统开发领域,调试接口的设计质量直接影响着开发效率和问题定位能力。Arm CoreSight架构作为业界领先的调试与追踪解决方案,通过标准化的寄存器映射和总线协议,为SoC设计提供了完整的调试基础设施。这套…...
3步实现完美视频字幕去除:Video Subtitle Remover AI视频处理完全指南
3步实现完美视频字幕去除:Video Subtitle Remover AI视频处理完全指南 【免费下载链接】video-subtitle-remover 基于AI的图片/视频硬字幕去除、文本水印去除,无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API,本地实现。A…...
Claude Code 完全指南:从零开始掌握 AI 编程助手
本指南适合对象:完全零基础的初学者、希望系统学习 Claude Code 的开发者、想要最大化利用 AI 辅助编程效率的技术人员。 阅读时间:预计 20-30 分钟完整阅读,实操学习 2-3 天。 文档版本:基于 Claude Code v2.1.x(2026年5月) 目录 Claude Code 完全指南:从零开始掌握 A…...
