thief book怎么用_Python 用xlwings库处理Excel

xlwing库

在网上查看了一些python处理excel库资料,参考相关内容《Python读写Excel文件第三方库汇总,你想要的都在这儿!》(https://blog.csdn.net/qq_34617032/article/details/80433939),经过对比后,最后选择xlwings库,来处理excel文件。

2f50d29dbd91670ec681c299e5c81203.png

由于自己会VBA,所以xlwings里面的一些函数用起来还是比较方便的,能够看懂大概用法,如果你不会VBA的话也没关系,xlwings英文版文档http://docs.xlwings.org/en/stable/api.html也很简单、简洁,英语很low的我也能看懂,不行就百度翻译一下,基本都可以理解怎么使用,而且这个库也一直在更新,长期来看还是比较靠谱的

代码可左右滑动显示

 1#以下代码在jupyter notebook 里面运行,打印时不用print
2
3import xlwings as xw   #引入xlwings模块
4
5
6#创建excel程序对象,这里有点类似VBA,不过这里也使很多人感到困惑
7#如果你理解了在excel文件里可以直接打开其他excel文件过程,你基本上就可以理解这个(菜单文件---打开)
8app = xw.App(visible=True,add_book=False) 
9wb = app.books.open('01.xlsx')   #指定要打开的文件
10
11wb.sheets     #查看里面的sheet
12sht1=wb.sheets['grv']    #可以直接把一个sheet赋值给一个对象,相当于引用
13sht2=wb.sheets.add('python',after='grv')   #添加一个新的sheet,在sheet(grv)后面,并命名为python
14
15sht1[0,0].value    #打印出sheet(grv)里面 A1单元格的值,这里一定要用 .value ,与vba里面的cells(1,1)有所区别,但这里相对VBA引用相对更方便,模块里面对应excel的行、列均从0开始,这与python里面其他序列下标保持一致
16sht2[0,0].value=sht1[0,0].value     #可以直接引用并赋值
17i=1
18j=1
19sht1[i,j].value         #这里也可以直接用变量,在程序里面都是用变量来引用单元格
20
21import pandas as pd   #加载pandas模块
22import numpy as np    #加载numpy模块,这里加载两个模块目的用来生成一些数据,后面数据可以直接写入excel,不用pd.to_excel
23
24data=np.arange(0,100).reshape(20,5)
25data=pd.DataFrame(data,columns=list('ABCDE'))    #创建一个数据框
26sht2[1,0].value=data       #可以直接把数据框写入excel,这里的.value不能省略
27
28wb.save()   #保存工作簿
29wb.close()   #关闭工作簿
30app.quit()   #退出excel程序,经测试excel程序确实退出,但任务管理器里面的进程还在运行,并没有完全退出,此处建议用下面的kill
31app.kill()    #完全退出excel程序,后台没有进程在运行

注意的点

  • 引用单元格数据时要加.value,这里和VBA的cell用法有所区别,cell默认就是.value,而这里不是

  • 退出excel时,建议用app.kill()来终止进程


以上是自己实践中遇到的一些点,分享出来供大家参考学习,欢迎关注本公众号

fa6e3c7385bfbbc735e05c066f411c6e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值