Xlwings是我认为的Python最强大的处理Excel的库,主要原因如下:
1 Windows,Mac都能用 (Excel,WPS也都能用)
2 功能齐全,支持Excel的新建、打开、修改、保存(pandas和xlsxwriter去不能全做到)
3 语法简单(用过一次后我就记住了)
4 可以调用VBA,有丰富的API
Talk is cheap, show you the code.
先说基本操作:
引入库
打开Excel程序,默认设置:程序可见,只打开不新建工作薄
打开已有工作簿(支持绝对路径和相对路径)
保存工作簿
退出工作簿(可省略)
退出Excel
引用Excel工作表,单元格
引用工作表
引用单元格
引用区域
重头戏:写入数据
(xlwings多个单元格的写入大多是以表格形式)
选择起始单元格A1,写入字符串‘Hello’
默认按行插入:A1:D4分别写入1,2,3,4
等同于
按列插入: A2:A5分别写入5,6,7,8
你可能会想
但是你会发现xlwings还是会按行处理的,上面一行等同于
正确语法:
既然默认的是按行写入,我们就把它倒过来嘛(transpose),单词要打对,如果你打错单词,它不会报错,而会按默认的行来写入(别问我怎么知道的)
我们输入信息的时候往往不只是写入一行或一列,
多行输入就要用二维列表了:
说完了写入就该讲读取了,记住了写入,读取就简单了
读取A1:D4(直接填入单元格范围就行了)
返回的值是列表形式,多行多列为二维列表,但有一点要注意,返回的数值默认是浮点数
image
读取excel的第一列怎么做?
image
你将会得到一个1048576个元素的列表,也就是空值也包含进去了,所以这种方法不行
思路:先计算单元格的行数(前提是连续的单元格)
接着就可以按准确范围读取了
同理选取一行的数据也一样
好了基本操作就介绍到这里了,下次搞个实战,把xlwings好好用起来