- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
超全整理|Python 操作 Excel 库 xlwings 常用操作详解!
使用app打开
import?xlwings?as?xwapp?=?xw.App(visible=True,?add_book=False)?#?程序可见,只打开不新建工作薄app.display_alerts?=?False?#?警告关闭app.screen_updating?=?False?#?屏幕更新关闭
二、保存、退出、关闭
这里需要留意,由于 xlwings 是以程序 apps 作为初级操作对象,因而开头和最终都是基于 app 的开和关
path?=?rC:\Scientific?Research\Pythonwb?=?app.books.open(path?+?r\practice.xlsx)wb.save()?#?保存文件wb.close()?#?关闭文件app.quit()?#?关闭程序
打开表格又分一下两种情况,即 固定 和 活动:
xw.Book(path?+?r\practice.xlsx)???#?固定打开表格xw.books.open(path?+?r\practice.xlsx)?#?频繁打开表格
固定和频繁打开涉及到一个概念,称活动对象,它使 xlwings 的操作更显机警:
#?活动应用程序app?=?xw.apps.active#?活动工作簿wb?=?xw.books.active??#?在活动appwb?=?app.books.active??#?在特定app#?活动工作表sheet?=?xw.sheets.active??#?在活动工作簿sheet?=?wb.sheets.active??#?在特定工作簿#?活动工作表的Rangexw.Range(A1)?
三、新建 Excel 文件
无论是新建还是打开都记得保存工作簿、关闭工作簿、关闭程序
path?=?rC:\Scientific?Research\Pythonwb?=?app.books.add()wb.save(path?+?r\new_practice.xlsx)?wb.close()?app.quit()?
四、读取内容
示例文件 practice.xlsx 如下:
下面的代码部分不再显示程序的开闭代码,利于直观看到重点:
path?=?rC:\Scientific?Research\Pythonwb?=?app.books.open(path?+?r\practice.xlsx)#?类似?openpyxl?中的?sheet?=?workbook.activesheet?=?wb.sheets.active#?猎取单个单元格的值A1?=?sheet.range(A1).valueprint(A1)#?猎取横向或纵向多个单元格的值,前往列表A1_A3?=?sheet.range(A1:A3).valueprint(A1_A3)#?猎取给定范围内多个单元格的值,前往嵌套列表,按行为列表A1_C4?=?sheet.range(A1:C4).valueprint(A1_C4)
在 xlwings 中,可以通过 sheet.range 猎取一个或多个单元格进行操作,另外也可以不用 sheet.range 猎取:
#?猎取单个单元格的值A1?=?sheet[A1].valueprint(A1)#?猎取横向或纵向多个单元格的值,前往列表A1_A3?=?sheet[A1:A3].valueprint(A1_A3)#?猎取给定范围内多个单元格的值,前往嵌套列表,按行为列表A1_C4?=?sheet[A1:C4].valueprint(A1_C4)
无论是单个单元格还是多个单元格,可以用 .value直接猎取,输出结果和使用 .range 完全全都,也避开了类似 openpyxl 对于多个单元格需要再建立循环遍历才能猎取值。
还有一品种似 pandas 切片猎取范围内全部值的方法:
sheet?=?wb.sheets.activeA1_B2?=?sheet[:2,?:2].valueprint(A1_B2)
五、写入数据
以下为写入 1 个单元格、一行或一列写入多个单元格、写入范围内多个单元格代码
#?写入?1?个单元格sheet.range(A2).value?=?大明#?一行或一列写入多个单元格#?横向写入A1:C1sheet.range(A1).value?=?[1,2,3]#?纵向写入A1:A3sheet.range(A1).options(transpose=True).value?=?[1,2,3]#?写入范围内多个单元格sheet.range(A
您可能关注的文档
最近下载
- (完整版)EN55014中文版.pdf VIP
- CECS 263-2009 大空间智能型主动喷水灭火系统技术规程.docx
- 政府采购评审专业对应表.pdf VIP
- 婚内财产协议模板(2篇).doc VIP
- 白银市第十一中学2024-2025学年八年级上学期期中考试物理试卷(含答案).docx VIP
- 2025至2030融资租赁行业项目调研及市场前景预测评估报告.docx
- 工程问题公开课省公开课一等奖全国示范课微课金奖PPT课件.pptx VIP
- 银行票据防伪培训幻灯片.ppt VIP
- 《费曼学习法在初中数学学习中的应用研究》课题中期研究报告.doc
- 科室医院感染管理方案考核标准.docx VIP
文档评论(0)