Cell.value関数がセルに使用される式を返すため、これで実際に問題が発生し、操作後にExcelが提供する結果を抽出する必要があります。
ありがとうございました。
さて、私はそれを回避する方法を見つけたと思います。 cell.internal値にアクセスするには、ワークシートでiter_rows()を使用する必要があります。これは「RawCell」のリストです。
for row in ws.iter_rows():
for cell in row:
print cell.internal_value
チャーリー・クラークがすでに提案したように、data_only
on True
onワークブックをロードするとき:
from openpyxl import load_workbook
wb = load_workbook("file.xlsx", data_only=True)
sh = wb["Sheet_name"]
print(sh["x10"].value)
幸運を :)
コードから、最適化されたリーダーread_only=True
を使用しているように見えます。ブックを開くときにdata_only=True
フラグを使用して、式とその結果の抽出を切り替えることができます。
internal_value
は、Excelが使用する(型なし)値のみを参照するために使用されるプライベート属性でした。 Pythonの形式ではなく、1900年のエポックの数字。この質問が最初に尋ねられてから、ライブラリから削除されました。
次のコードを試すことができます。Excelファイルのパスと、下のコードの行番号と列番号で必要な値のセルの場所を指定するだけです。
from openpyxl import Workbook
wb = Workbook()
Dest_filename = 'Excel_file_path'
ws=wb.active
print(ws.cell(row=row_number, column=column_number).value)
代わりにcell.internal_value
を使用してみてください。