xlwings处理和修改Excel已有表格数据(附xlwings空值解决思路)

https://blog.csdn.net/qq_34617032/article/details/80433939

针对处理Excel的各种三方库xlrd, xlwt, xlutils, xlwings, openpyxl, xlsxwriter, win32com, DataNitro, pandas,较为全面的介绍

 

Xlwings

基础教程:https://www.cnblogs.com/catgatp/p/7875696.html

缺陷:无法识别一行/一列中的空值,遇到空值默认读取终止,使用for函数也无法解决

写入函数是否也存在这类问题??

解决方法:

#思路1(最方便快捷),使用其他可识别字符填补空值,代码运行结束再全部替换为空值(替换需要以单元格为单位,勾选单元格匹配:完全匹配单元格内才可以替换)
#思路2.使用xlrd和xlwt输出list,再用xlwings写入;效率较低
#思路3,查看xlwings源码包,sheet.range.value函数的结束函数代码(源码如何设置结束条件?空值break?),修改源码。处理:未找到相关代码

注意:

区分 mail = sheet.range('A2').expand('down').value 和 mail = sheet. range('A1').expand('down')

 

xlwings写入一列

二维数组:

list = [[1],[2],[3],[4]]

sheet.range('A1').value = list

一维数组:

list = [1,2,3,4]

sheet.range('A1').options(transpose=True).value = list

 

应用:使用xlwings读取excel中某列的值
 

import xlwings as xw

Excel = xw.App(visible=True,add_book=False)
Excel.display_alerts=False
Excel.screen_updating=False
#开始Excel程序,定义打开文档格式

filepath=r'C:\Users'
ExcelFile = Excel.books.open(filepath)
sheet = ExcelFile.sheets['Sheet1']
#读取具体文档,表格

mail = sheet.range('A2').expand(‘down’).value
#读取某列数据

extract_qq = []
    

sheet.range('A1').options(transpose=True).value = extract_qq
#写入表格,列表使用transpose将自动填成一列

ExcelFile.save() #保存文档
ExcelFile.close() #关闭文档
Excel.quit() #停止excel程序

 

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值