python 获取csv的列数_Python处理Excel的另一个库-openpyxl

2023-10-21 11:59

本文主要是介绍python 获取csv的列数_Python处理Excel的另一个库-openpyxl,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2b0905205241a584bd6452655b1fbac0.png

Python处理Excel的另一个库-openpyxl

前言

上篇文章中,介绍了如何使用 Pandas 来操作处理 Excel 和 Csv 文件。其中留下了一个点,即图片头像现在在 Excel 中依然是地址,现在需要将地址转为图片,写入到 Excel。

今天来介绍另一个好用的库 openpyxl ,Python操作处理 Excel 的神库。

回顾上篇文章详见:Python处理Excel&CSV文件

环境准备

开始之前,需要安装的第三方库有两个:

pip 

第一个是操作 Excel 的,第二个则是和图片相关的库,早期的文章用到过。

代码演示

由于使用 openpyxl 库,每个操作都可以抽象成一个方法,所以我将大部分常用的操作封装成了一个类来使用。

下面来简单介绍下我完成这次图片写入用到的功能,完整代码文末提供地址:

1.初始化时加载,读和写的操作对象

class 

self.wb 是读 Excel 时用到的,self.ws 则是写入时用到的。

2.获取某列的所有值

由于我需要读取头像图片地址,所以就得需要这一列的地址:

15b44e5ead83c1d12e0941c5847ecf04.png
class 

注意,这里的 column 是从 1 开始的,Excel 中 A 列意味着 column 等于 1,所以传值的时候注意列数的数字。

3.重塑图片大小,重新写入文件,设置行高列高。

重塑图片,用到了 pillow 库,把本地的图片大小规划为 75 像素的宽高。

重新定义图片大小是为了整齐,从网站下载下来的图片大小不一。

from 

定义单元格行宽高:

class Excel(object):
# 设置单元格宽度和高度def set_cell_height(self, row, col, row_height, column_weight):self.ws.row_dimensions[row].height = row_heightself.ws.column_dimensions[col].width = column_weight

4.设置某列的值

通过 requests 库读取到图片,落地,再次设置图片。

1181069b79a0a66b95d8922417843c25.png
classExcel

5.保存文件

为了灵活性,如果你使用此方法传进名字,则新创建文件,否则保存覆盖之前加载的文件。

class 

可以看到这样是不是就很整齐了呢?

6ef2fa11ace02aa1ce840059566df071.png

使用对比pandas库处理Excel

通过这两篇文章比较,个人觉得还是 pandas 库操作数据方便些。但不同场景下使用也不同。

比如我要写入图片,可能 pandas 支持就不那么好,但比如我想合并多个 Excel ,那无疑使用 pandas 的 concat 函数要简单的多。

可以说,openpyxl 库更多地是对 Excel 细节操作的实现,而 Pandas 多数注重于数据的处理,大家根据自己的场景需求选择使用就好~

总结

到这里,对于王者荣耀的相关数据以及 Excel 算是处理完了,下面就准备分析分析了,看看能从这批数据中看到些什么。

有想看这章完整代码的朋友,可以公号后台回复 最终王者 即可获得。

这篇关于python 获取csv的列数_Python处理Excel的另一个库-openpyxl的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/254243

相关文章

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

python之uv使用详解

《python之uv使用详解》文章介绍uv在Ubuntu上用于Python项目管理,涵盖安装、初始化、依赖管理、运行调试及Docker应用,强调CI中使用--locked确保依赖一致性... 目录安装与更新standalonepip 安装创建php以及初始化项目依赖管理uv run直接在命令行运行pytho

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路