本文主要是介绍python 获取csv的列数_Python处理Excel的另一个库-openpyxl,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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.获取某列的所有值
由于我需要读取头像图片地址,所以就得需要这一列的地址:
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 库读取到图片,落地,再次设置图片。
classExcel
5.保存文件
为了灵活性,如果你使用此方法传进名字,则新创建文件,否则保存覆盖之前加载的文件。
class
可以看到这样是不是就很整齐了呢?
使用对比pandas库处理Excel
通过这两篇文章比较,个人觉得还是 pandas 库操作数据方便些。但不同场景下使用也不同。
比如我要写入图片,可能 pandas 支持就不那么好,但比如我想合并多个 Excel ,那无疑使用 pandas 的 concat 函数要简单的多。
可以说,openpyxl 库更多地是对 Excel 细节操作的实现,而 Pandas 多数注重于数据的处理,大家根据自己的场景需求选择使用就好~
总结
到这里,对于王者荣耀的相关数据以及 Excel 算是处理完了,下面就准备分析分析了,看看能从这批数据中看到些什么。
有想看这章完整代码的朋友,可以公号后台回复 最终王者 即可获得。
这篇关于python 获取csv的列数_Python处理Excel的另一个库-openpyxl的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!