Python最新全套资料文末免费领取
python读写excel利器:xlwings 从入门到精通
目录
- 安装和使用
- 基础操作
-
- 操作工作簿
- 操作工作表
- 读取单元格
- 写入(单元格赋值)
- range的操作(range常用的api)
-
- 写入一行或一列Excel数据(函数式)
- 使用range(\‘A1\’).api.AddComment(\‘comments\’)给单元格加注释
-
-
- 格式设置
-
- 设置单元格大小
- 设置单元格 字体格式
- 设置边框
-
- 单元格操作
-
- 合并拆分单元格
- 插入 、删除 一行
- 插入 、删除 一列
- 排序,删除重复值
- 删除重复值使用方法:
- 插入、读取公式
- 同个表格复制、粘贴
- 跨表格复制、粘贴
-
- 关闭文件
- 其它功能
- 踩过的坑
-
- 解决xlwings写入长数字型字符串时变成科学计数法的问题
-
- 参考资料:
- 基础操作
xlwings简介:
python操作Excel的模块,网上提到的模块大致有:xlwings、xlrd、xlwt、openpyxl等,
他们提供的功能归纳起来有两种:
一、用python读写Excel文件,实际上就是读写有格式的文本文件,操作excel文件和操作text、csv文件没有区别,Excel文件只是用来储存数据。
二、除了操作数据,还可以调整Excel文件的表格宽度、字体颜色等。
xlwings和目前流行的其它xlsxwriter, openpyxl的区别:
特点:
- xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改
- 可以和matplotlib以及pandas无缝连接
- 可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。
- 开源免费,一直在更新
安装和使用
pip install xlwings
conda install xlwings
conda install -c conda-forge xlwings
xlwings中文文档
https://www.kancloud.cn/gnefnuy/xlwings-docs/1127450
英文文档:
https://docs.xlwings.org/en/stable/quickstart.html
excel基本结构分为 Application ——> Workbooks ——> Worksheets ——> Range.
即应用程序 ——> 工作簿 ——> 工作表 ——> 单元格。
在xlwings中
- Excel程序用App来表示,多个Excel程序集合用Apps表示;
- 单个工作簿用Book表示,工作簿集合用Books表示;
- 单个工作表用Sheet表示,工作表集合用Sheets表示;
- 区域用Range表示,既可以是一个单元格,也可以是一片单元格区域。
明确几个概念:
- 新建:创建一个不存在的工作薄或者工作表
- 打开:打开一个已经存在的工作薄
- 引用:就是告诉程序,你要操作哪个对象。比如你打开了A、B、C三个工作薄,现在你想操作B工作薄,就要先引用B
- 激活:我们可以同时打开多个工作薄,但是一次只能操作一个工作簿,我们正在操作的这个工作薄称为当前活动工作薄,激活的意思就是将某一个对象(工作薄或工作表等)变成当前活动对象
基础操作
import xlwings as xw
app = xw.App(visible=True, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = True # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
wb = app.books.add()
sht = wb.sheets.active
操作工作簿
# wb = app.books.add() # 新建工作簿。
# wb = app.books.open(r\'file_path\') # 打开现有的工作簿
# wb = app.books.active # 获取当前活动的工作簿
操作工作表
sht = wb.sheets.active # 获取当前活动的工作表
sht = wb.sheets[0] # 按索引获取工作表
sht = wb.sheets[\'Sheet1\'] # 按表名获取工作表
sht1 = w