前提・実現したいこと
今エネルギー消費性能計算プログラム(住宅版)のAPIを用いたプログラムを作成中です。
ですが、データの送信の際に必要な変数の中に変数を入れることができません。
対処方法をご教授いただければ幸いです。
発生している問題・エラーメッセージ
6.14
13.9
14.7
<House FileVer="1" Name="Sample" Type="Standard,Independent" TotalArea="120.08">
<Environment Region="6" />
<Zones>
<Zone Type="LDK" Area="29.81" NaturalWind="0" />
<Zone Type="Other" Area="51.34" NaturalWind="0" />
</Zones>
<Envelope HeatStorage="None" EvaluationMethod="Real" TotalEnvelopeArea="307.51"
UAValue=,UA SummerHAValue=,ηAC WinterHAValue=,ηAH />
<Heating Type="NotInstalled" />
<Cooling Type="NotInstalled" />
<Ventilation Type="DuctVentilation2or3" SFP="0.3" Frequency="HalfPerHour" />
<Lighting />
</House>
E_C: None
該当のソースコード
import urllib.request import xml.etree.ElementTree as ET import openpyxl as px book = px.load_workbook('BASE.xlsx') sheet = book.active ########################################################################################## ## ここからはデータ入力 for i in range(1): UA_row = "C" + str(17 + i) ηAC_row = "D" + str(17 + i) ηAH_row = "E" + str(17 + i) UA = sheet[UA_row].value ηAC = sheet[ηAC_row].value ηAH = sheet[ηAH_row].value print(UA ) print(ηAC) print(ηAH) ########################################################################################## model = """ <House FileVer="1" Name="Sample" Type="Standard,Independent" TotalArea="120.08"> <Environment Region="6" /> <Zones> <Zone Type="LDK" Area="29.81" NaturalWind="0" /> <Zone Type="Other" Area="51.34" NaturalWind="0" /> </Zones> <Envelope HeatStorage="None" EvaluationMethod="Real" TotalEnvelopeArea="307.51" UAValue="UA" SummerHAValue="ηAC" WinterHAValue="ηAH" /> <Heating Type="NotInstalled" /> <Cooling Type="NotInstalled" /> <Ventilation Type="DuctVentilation2or3" SFP="0.3" Frequency="HalfPerHour" /> <Lighting /> </House> """ print(model) data = "<request><model>{}</model><format>NewStandard</format></request>".format(model) data = data.encode() # to bytes req = urllib.request.Request('https://house.app.lowenergy.jp/api/v1/eval', data=data) req.add_header('Content-type', 'application/xml; charset=utf-8') req.add_header('Accept', 'application/xml') res = urllib.request.urlopen(req) xml = res.read() E_C = ( "E_C: {}".format(ET.fromstring(xml).findtext('E_C'))) print(E_C) ####################################################################################### #print(sheet[A_row].value) #sheet[B_row].value = (E_C) #i += 1 book.save('BASE.xlsx')
試したこと
問題となっている箇所は53行目の
UAValue="UA" SummerHAValue="ηAC" WinterHAValue="ηAH" />
ここの箇所が変数ではなく文字として扱われているのだと思います。
変数にするために.valueをつけましたり、ダブルクォーテーション""を削除したりしたのですが
駄目でした。
補足情報(FW/ツールのバージョンなど)
APIマニュアルへのリンク
OS:Windows10,python:3.7.1
エディタ:Brackets

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 09:10