200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Python excel数据处理之公式---openpyxl

Python excel数据处理之公式---openpyxl

时间:2022-01-07 06:44:25

相关推荐

Python excel数据处理之公式---openpyxl

有些时候excel中直接通过公式进行计算比较方便,这样会比较简洁。并且下面代码也解决了excel读取单元格内容时(通过公式计算的值)为None的问题,咱们废话不多说,直接上代码。

import sysimport openpyxlfrom win32com.client import Dispatch #win32com安装指令为:python -m pip install pypiwin32path = sys.path[0] #获取当前脚本路径def just_open():# 保存excel使公式计算出结果xlApp = Dispatch("Excel.Application")xlApp.Visible = FalsexlBook = xlApp.Workbooks.Open(filename)xlBook.Save()xlBook.Close()#创建一个工作簿,并命名工作表名称为'Demo'wb=openpyxl.Workbook()ws=wb.active #指定当前显示(活动)的sheet对象ws.title='Demo'SheetData= wb.get_sheet_by_name('Demo')#新建一个工作表,并往A列写入1-10SheetName = 'Sheet1'wb.create_sheet(SheetName)SheetData1 = wb.get_sheet_by_name(SheetName)for i in range(10):SheetData1["A%d" % (i+1)].value = i + 1SheetData1["B1"] = '=sum(A:A)' ##求工作表'Sheet1'的A列平均值,然后写入'Sheet1'中SheetData1["B2"] = '=sum(A1:A10)'SheetData["A1"] = '=AVERAGE(%s!A:A)' % SheetNameSheetData["A2"] = '=INT(AVERAGE(%s!A:A))' % SheetName #求工作表'Sheet1'的A列平均值并取整,然后写入'Demo'中SheetData["A3"] = '=sum(%s!A:A)' % SheetNamewb.save('123.xlsx')#如果直接读取单元格内的值(通过公式计算的值)则为'None',则应通过下面方式实现。#读取excel公式计算的值。filename= path + '/' + '123.xlsx'just_open()wb1=openpyxl.load_workbook(filename, data_only=True)SheetData=wb1.worksheets[0]print(SheetData["A1"].value, SheetData["A2"].value, SheetData["A3"].value)for j in SheetData["A"]: #获取第A列的数据print(j.value, end=' ')print()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。