前提・実現したいこと
xlsx形式のデータを式ではなく数値としてPythonにインポートし、1×2行列を作りたいです。
インポートしたいエクセルデータは、sheet_2というワークシートのセルA1とB1の値です。セルA1は別のワークシート'sheet_1'のセルA1の値を参照しています。sheet_1のセルA1には
A1 = 1
を代入しており、sheet_2のセルA1とB1には
A1 = sheet_1!A1
B1 = A1 * 2
と入力しているので、以下の実行結果が出てくることを期待しています。
[1, 2]
しかし、printを使うと
['=sheet_1!A1', '=A1*2']
数値ではなく式が返されてしまいます。コードの詳細は以下に示しますので、アドバイスをお願いします。
該当のソースコード
ソースコード: import openpyxl as px import numpy as np wb = px.load_workbook('python_to_excel_output_test1.xlsx') #エクセルファイルを読み込む print(wb) #ワークブックを表示する print('\n') #改行する ws = wb['sheet_2'] #シートを取得する print(ws) #ワークシート名を表示する print('\n') #改行する print([ws['A1'].value , ws['B1'].value]) #セルA1とB1の値を表示する 実行結果: <openpyxl.workbook.workbook.Workbook object at 0x000001BA87525D68> <Worksheet "sheet_2"> ['=sheet_1!A1', '=A1*2']
補足情報(FW/ツールのバージョンなど)
開発環境はPython3.7です。
モジュール'openpyxl'は2.6.1、'numpy'は1.15.4です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/21 09:51