我必须将算法从Excel工作表移植到python代码,但我必须从Excel文件中对算法进行反向工程。
Excel工作表非常复杂,它包含许多单元格,在这些单元格中有引用其他单元格的公式(也可以包含公式或常数)。
[我的想法是使用python脚本分析工作表以构建一种单元格之间的依存关系表,即:
A1取决于B4,C5,E7公式:“ = sqrt(B4)+ C5 * E7”A2取决于B5,C6公式:“ = sin(B5)* C6”...
xlrd python模块允许读取XLS工作簿,但此刻我可以访问单元格的[[value,而不是formula。]]例如,使用以下代码,我可以简单地获取单元格的值:
import xlrd
#open the .xls file
xlsname="test.xls"
book = xlrd.open_workbook(xlsname)
#build a dictionary of the names->sheets of the book
sd={}
for s in book.sheets():
sd[s.name]=s
#obtain Sheet "Foglio 1" from sheet names dictionary
sheet=sd["Foglio 1"]
#print value of the cell J141
print sheet.cell(142,9)
无论如何,似乎没有办法从方法返回的Cell对象中获取公式。在documentation中,他们说可以获取公式的字符串版本(英文,因为在Excel文件中没有存储有关函数名称转换的信息)。他们谈论Name和Operand类中的公式(表达式),无论如何,我无法理解如何通过必须包含它们的Cell类实例来获取这些类的实例。您能否建议一个从单元格获取公式文本的代码段?。cell(...)
我必须将算法从Excel工作表移植到python代码,但必须对Excel文件中的算法进行反向工程。 Excel工作表非常复杂,它包含许多单元格,其中...
xlrd
的作者/维护者。Update