こんにちは:進歩していますが、依然として苦労しています。私はこの機能で特定の日からのエネルギー値を見つけるために、線形検索を使用していますPythonは可変日付を関数に渡します
json =
{
"emeter": {
"get_daystat": {
"day_list": [
{ "year": 2016, "month": 10, "day": 1, "energy": 0.651000 },
{ "year": 2016, "month": 10, "day": 2, "energy": 0.349000 },
{ "year": 2016, "month": 10, "day": 3, "energy": 0.481000 }
],
"err_code": 0
}
}
}
:
parsed_json = json.loads(json)
def get_energy_value_by_date(obj, year, month, day):
for value in obj['emeter']['get_daystat']['day_list']:
if value['year'] == year and value['month'] == month and value['day'] == day:
return value['energy']
energy = get_energy_value_by_date(parsed_json, 2016, 10, 2)
これまでのところは良い、私は次のようなJSONを持っています。私が次に必要とするのは、さまざまな日のエネルギー価値を見つけることです。例えば、今日は(JSONが有効であると仮定):私はこのスクリプトを実行すると
import datetime
day_now = datetime.datetime.now().strftime("%d")
month_now = datetime.datetime.now().strftime("%m")
year_now = datetime.datetime.now().strftime("%Y")
parsed_json = json.loads(json)
def get_energy_value_by_date(obj, year, month, day):
for value in obj['emeter']['get_daystat']['day_list']:
if value['year'] == year and value['month'] == month and value['day'] == day:
return value['energy']
energy_today = get_energy_value_by_date(parsed_json, year_now, month_now, day_now)
print energy_today
それは私がここに基本的な何かが欠けする必要があります
None
を返します。私が必要とするのは、さらなる処理のために任意の年の任意の日のエネルギー価値を引き出す能力です。
ありがとうございます!
バオバブ
印刷日_now、月_nowなどそこからのデバッグ。 – Dan
変数をintにキャストする必要があるという問題があります。 – Dan