为什么要用Python处理数据?
①快。之前发送数据日报都是从系统中导出数据,然后填充到基础表格中,展示表格里面的公式自动计算出数据。用过Excel的小伙伴都了解,很多公式(或者数组公式)或者大的基础数据,都会造成Excel的卡顿或者死机,,利用Python一般不会出现这种情况。
②顺畅。发数据的流程中"导出数据"的过程已经用Python解决(利用requests)。现在需要把Python导出的数据,写进自己设定的Excel表中。然后后期用itchat自动把数据发送到特定的微信群中。
为什么选择win32com
优点:语言基本上与VBA一致,如果碰到不懂的地方,可以用宏的方式去查看VBA代码
缺点:必须在windows操作系统上面使用,程序出问题报错基本上看不懂。
我为什么要用这个?碰巧遇到
如何安装win32com
win32com下载地址:https://sourceforge.net/projects/pywin32/files/
下载过来操作安装即可
pywin安装界面win32com简单使用方法
引用模块
import win32com.client as win32
from PIL import ImageGrab #用于获取复制的图片
读取表格
1、获得Excel
excel = win32.Dispatch('Excel.Application') #获取Excel
2、获得工作薄
wb = excel.Workbooks.open('D:\\article_data\\test.xlsx')
3、获得工作表
ws = wb.Worksheets('Sheet1')
4、结果输出
结果展示填充数据
c_column = [20,30,20,30,40,50,35,45]
d_column = [15,31,22,15,16,40,34,89]
ws.Range('C2').value = c_column[0]
结果输出
结果展示也可以可以用函数快速处理数据
函数填充数据结果输出
结果展示对完成率进行降序排序
ws.Range('A2:D9').Sort(Key1= ws.Range('B2'),Order1 = 2,Orientation=1)
结果展示
结果展示保存为图片
ws.Range('A1:D10').CopyPicture()
ws.Paste(ws.Range('G1'))
结果展示
结果展示把图片保存到本地
ws.Shapes('图片 1').copy()
img = ImageGrab.grabclipboard()
img.save('D:\\article_data\\图片1.png')
结果展示
结果展示关闭表格
wb.close()
网友评论