ワークブックでは、Excelドキュメントを使用してサンプルの解析を行い、ワークブック内のワークシートの1つが「トップシート」です。データの一部がレポート用の素敵なテーブルに照合されます。私は、OpenPyXLを使って必要なすべてのデータを取り出して、複数のファイルからこのデータを取り出すことができる網羅的なpythonスクリプトを作成しました。このすべてでは、ブックを開くときにdata_only=True
フラグを実装する必要があります。OpenpyXL - 任意のワークブックのセルの計算されたコンポーネントとフォーミュラコンポーネントの両方を返す方法
これまで、ワークシートの別の部分(トップシートではない)からデータを取得する必要がありましたが、実際には「トップシート」の数式で参照されています。私は本質的にスクリプトをブックに2回開くようにしました。一度はすべてのトップシートのデータを取り出し、一度式(実際には一連のセル参照)を取り出すことです。
wb_value = load_workbook(os.path.join(root, fname), data_only=True)
wb_formula = load_workbook(os.path.join(root, fname))
再開することなく、データや数式を返すためにOpenPyXLのいずれかの方法はありますか?これは文字通り抽出ループを実行するのに必要な時間を2倍にします。これは上記のように、適切な.xlsxファイルを見つけるためにディレクトリ全体をループする大きな構造の一部です。
大変助かりました。
PS。私はチャールズ・クラークの23350581の答えを読んだので、楽観的でないのは簡単な解決策ですが、うまくいけば誰かが回避策を考え出すことができます。
PPS。時間の経過とともに変更され、誰かがExcelの位置を追跡するために(複数年に渡って)ハードコーディングしているので、私が取り出したいセル参照をハードコードすることはできません。
乾杯
DeepSpaceのおかげでよかったです。私はopenrickxを呼び出す(文字通り何百もの)他のスクリプトを持っているので、コアライブラリの機能を変更したくないし、機能を損ねたくない。 – user2658194
また、この機能が変更しただけの単純なものであれば、コアライブラリの一部ではない理由を考えることはできますか? – user2658194
@ user2658194私は実際には実際にはわかりません。 – DeepSpace