欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xlwings使用教程

程序员文章站 2024-02-23 17:35:04
...

xlwings的使用教程

xlwings开源免费,能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改。
xlwings还可以和matplotlib、numpy以及pandas无缝连接,支持读写numpy、pandas数据类型,将matplotlib可视化图表导入到excel中。

xlwings官方文档

网址: http://docs.xlwings.org/zh_CN/latest/

Python基础

推荐2个网址:

菜鸟教程:https://www.runoob.com/python3/python3-basic-syntax.html

廖雪峰教程:https://www.liaoxuefeng.com/wiki/1016959663602400

先说基本操作

引入库

import xlwings as xw 

打开Excel程序,默认设置:程序可见,只打开不新建工作薄

app = xw.App(visible=True,add_book=False)
#新建工作簿 (如果不接下一条代码的话,Excel只会一闪而过,卖个萌就走了)
wb = app.books.add()

打开已有工作簿(支持绝对路径和相对路径)

wb = app.books.open('example.xlsx')
#练习的时候建议直接用下面这条
#wb = xw.Book('example.xlsx')
#这样的话就不会频繁打开新的Excel

保存工作簿

wb.save()

关闭工作簿

wb.close()

关闭Excel

app.quit()

引用工作表

sh = wb.sheets[0]

sh = wb.sheets['Sheet name']

引用单元格

rng = sh.range("a1")
rng = sh.range(1,1)

引用区域

rng = sh.range("a1:c3")
rng = sh.range((1,1),(3,3))

写入单元格

选择起始单元格A1,写入字符串‘Hello’

sh.range(1,1).value = "Hello"

默认按行插入:A1:A4分别写入1,2,3,4

sht.range('a1').value = [1,2,3,4]

等用于

sht.range('a1:a4').value = [1,2,3,4]

按列插入: A2:A5分别写入5,6,7,8

sht.range('a2:a5').value = [5,6,7,8]

但是你会发现xlwings还是会按行处理的,上面一行等同于

sht.range('a2').value = [5,6,7,8]

正确语法:

sht.range('a2').options(transpose=True).value = [5,6,7,8]

既然默认的是按行写入,我们就把它倒过来嘛(transpose),单词要打对,如果你打错单词,它不会报错,而会按默认的行来写入

好了基本操作就介绍到这里了