首页 文章

在使用xlwt将公式写入excel表后,使用xlrd公式读取单元格将返回空白

提问于
浏览
1

我首先使用pandas创建了一个数据透视表 . 然后我将其保存到工作表中 . 然后我使用xlwt在此工作表中编写了一些数据和公式,以便进一步处理 . 现在我试图从我之前写过公式的单元格中读取值 .

book = xlrd.open_workbook(fname)
sheet = book.sheet_by_name('Pivot Table')
print 'Spare',sheet.cell(11,10).value

此代码工作正常,并在指向没有公式的单元格(取决于其他单元格)时返回正确的值 . 但是具有公式的单元格没有返回 .

我需要一种方法来读取单元格值 . excel表中有很多公式写入,我试图读取的单元格是最后一个单元格 . 所以我不想回溯过程来获取值(通过我的脚本计算) .

我正在使用Ubuntu并拥有LibreOffice . (仅供参考,如果没有直接的方法,我们需要打开excel并获取数据)

1 回答

  • 0

    这是不可能做到的 .

    在通过xlwt包写入excel之后,您需要打开excel并保存它 . 打开excel文件将使用计算值填充包含公式的单元格 . 然后保存excel会将这些值与公式一起保存到单元格中 .

    我观察到的一些事情 -

    • 以上情况仅适用于具有在其他单元格中使用值的公式的单元格 . 如果我尝试使用'=10+2'之类的公式读取单元格,则会返回正确的值 .

    • 打开excel后,您需要编辑/添加一些内容以启用保存按钮/选项 .

相关问题