python-2.7 - 如何使用xlwings在Excel中获取公式结果

标签 python-2.7 xlwings

我想要做的是 1) 在 Excel 中获取公式结果,2) 将值更新到现有的 Excel 文件。 [output_result我使用“xlsxwriter”创建并编写了公式。但是当我尝试openpyxl(或pandas)检索公式结果时,它返回0。我想使用“xlwings”来解决这个问题,但不知道该怎么做。有人可以帮忙吗?

#openpyx
wb = openpyxl.load_workbook(filename=xlsx_name,data_only=True)
ws = wb.get_sheet_by_name("sheet1")
print "venn_value",(ws.cell('X2').value)
#pandas 
fold_merge_data=pd.read_excel(xlsx_name,sheetname=1)
print fold_merge_data['Venn diagram'][:10]

最佳答案

是的,xlwings 可以为您解决这个问题,因为它使用 pywin32 对象与 Excel 交互,而不是像 openpyxl 和 pandas 那样仅仅读取/写入 xlsx 或 csv 文档。这样,Excel 实际上执行公式,xlwings 获取结果。

为了获得值(value),你可以这样做:

import xlwings as xw
sheet = xw.sheets.active # if the document is open
#otherwise use sheet = xw.Book(r'C:/path/to/file.xlsx').sheets['sheetname']
result = sheet['X2'].value

另请注意,您可以使用以下方法设置公式

sheet['A1'].value = '=1+1' # or ='B1*2' if you want to reference other cells

关于python-2.7 - 如何使用xlwings在Excel中获取公式结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40925185/

相关文章:

python - 在 MAC OSX 上使用 PY2APP 打包 key 环模块时出错

python-2.7 - 我怎样才能在我的 x/ylabel 附近放一个箭头?

C# 到 Python(不是 IronPython)发送和接收数组、Into、String、Decimals

python - 在 xlwings 中格式化表格

python - 创建 twitch irc 机器人(登录身份验证失败)

python - 仅 Python 枚举类型的参数

python - 我试图用 c 中的逻辑在 python 中实现行计数程序

python - 模块 'xlwings' 没有属性 'Book'

excel - xlwings 与 pandas 本地导出与多索引数据帧 : how to reconcile?

python - 使用 Python 和 xlwings 在 Excel 中查找事件/选定单元格的范围