python读写excel利器:xlwings从入门到精通

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表示,既可以是一个单元格,也可以是一片单元格区域。

明确几个概念:

  1. 新建:创建一个不存在的工作薄或者工作表
  2. 打开:打开一个已经存在的工作薄
  3. 引用:就是告诉程序,你要操作哪个对象。比如你打开了A、B、C三个工作薄,现在你想操作B工作薄,就要先引用B
  4. 激活:我们可以同时打开多个工作薄,但是一次只能操作一个工作簿,我们正在操作的这个工作薄称为当前活动工作薄,激活的意思就是将某一个对象(工作薄或工作表等)变成当前活动对象
基础操作
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
根据引用\[1\]中的代码,可以使用xlwings库中的range属性来获取Excel表格中的行数。具体的代码如下所示: ```python import xlwings as xw wb = xw.Book(r'F:\xlwings\OriginalData.xlsx') sht = wb.sheets\[0\] info = sht.used_range nrows = info.last_cell.row print(nrows) ``` 其中,`nrows`变量即为Excel表格中的行数。 另外,根据引用\[3\]中的代码,可以使用xlwings的range属性来设置行高。具体的代码如下所示: ```python import xlwings as excel excelApp = excel.App(False, False) excelFile = excelApp.books.add() sheet = excelFile.sheets.add('test') sheet.range('A1').row_height = 20 # 将行高设置为20像素 excelFile.save(r"c:\temp\csdn\test.xlsx") excelFile.close() excelApp.quit() ``` 在这个例子中,`sheet.range('A1').row_height = 20`将A1单元格的行高设置为20像素。 #### 引用[.reference_title] - *1* [xlwings——Python for Excel——xlwings如何获取有数据的所有行数和列数](https://blog.csdn.net/qq_31989047/article/details/103318044)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法](https://blog.csdn.net/LaoYuanPython/article/details/107131574)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值