介绍
这篇文章主要讲解了如何实现Python读取excel文件中带公式的值,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值
但是用之前的读取方法进行读取的时候,返回值为空
导入操作系统 进口xlrd 从xlutils。复制进口复制 file_path=os.path.abspath (os.path.dirname (__file__)) #获取当前文件目录 打印(file_path) root_path=os.path.dirname (file_path) #获取文件上级目录 data_path=root_path + & # 39; \ \数据# 39;#拼接数据文件夹地址 data_file=data_path + & # 39; \ \ api.xlsx& # 39;#拼接excel文件地址 data=https://www.yisu.com/zixun/xlrd.open_workbook (data_file) #读取文件 表=data.sheet_by_index(0) #切换到第一个表 坳def get_excel(行): ”“” excel单元格读取 :param行: :param坳: 返回: ”“” 行=表。nrows #获取最大行号 关口=表。ncols #获取最大列号 path_name=表。cell_value(行)上校#获取单元格值 还行,关口,path_name
查询之后发现普通的读取不能直接读取带单元格的值。现在采用
openpyxl下的load_workbook模块
def get_xlrd(自我、行坳): 世行=load_workbook(自我。data_file data_only=True) ws=wb.worksheets [0] 上校,返回ws.cell(行)。值
openpyxl读取带公式的excel时,可能会存在这些问题
要么读出来是“没有”,要么是“公式本身“
wb=openpyxl.load_workbook (& # 39; daikuan.xlsx& # 39;, data_only=True) - - - - - - -读出来的是没有 # wb=openpyxl.load_workbook (& # 39; daikuan.xlsx& # 39;, data_only=False) - - - - - - - - - - - -读出来的是公式本身
解决办法:
公式是代码写进去的,这样读出来就是没有。
手动写入公式并保存,再用openpyxl读取,能读取到公式的结果。
代码写入的公式/值,需要手动打开Excel,并保存,再用openpyxl读取,就能读取到公式了。
或者调用win32com。客户端导入调度模块。运行下面代码后再进行读取,就能读取到数据/值
。客户端导入调度 def just_open(文件名=file_name): xlApp=调度(“Excel.Application") xlApp。可见=False xlBook=xlApp.Workbooks.Open(文件名) xlBook.Save () xlBook.Close ()
看完上述内容,是不是对如何实现Python读取excel文件中带公式的值有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。