アルゴリズムをExcelシートからPythonコードに移植する必要がありますが、Excelファイルからアルゴリズムをリバースエンジニアリングする必要があります。
Excelシートは非常に複雑で、他のセルを参照する数式が含まれているセルが多数含まれています(数式または定数を含めることもできます)。
私のアイデアは、Pythonスクリプトを使用して、セル間の依存関係の一種のテーブルを作成するシートを分析することです。
A1はB4、C5、E7の式に依存します: "= sqrt(B4)+ C5 * E7"
A2はB5、C6の式に依存します: "= sin(B5)* C6"
.. ..
xlrd pythonモジュールを使用すると、XLSブックを読み取ることができますが、現時点では、数式ではなくセルの値にアクセスできます。
たとえば、次のコードを使用すると、セルの値を簡単に取得できます。
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(...)メソッドによって返されるCellオブジェクトからformulを取得する方法がないようです。ドキュメントでは、数式の文字列バージョンを取得できると述べています(Excelファイルに関数名の変換に関する情報が保存されていないため、英語で)。彼らはNameクラスとOperandクラスの式(式)について話しますが、とにかく、それらを含まなければならないCellクラスインスタンスによってこれらのクラスのインスタンスを取得する方法を理解できません。
セルから数式テキストを取得するコードスニペットを提案できますか?