apiのみんなの予想にまとめて投稿できない。


#1

言語pythonでkerasを使って予想した3連単120インデックスを変数betlist[1,2,3]に収納してます。

ここからが問題で0から最大で8点まで賭けるのですが可変します。
それを投稿するときにfor文でn回postしてたのですが、今のままだと見づらいことに気がついて1回でpostして投稿したいのですがうまくいきません。


いま現状こんな感じで詰まってます。よろしくおねがいします。


#2

@nemui3900 さん
ありがとうございます。

投稿いただいたソースを見ると、json形式の文字列を組み立てようとされているようですので
辞書型のデータを操作した方が良いかと思います。

僕もたいして技術力があるわけではないので、参考程度にですが、レッドモデル・ブルーモデルでは6点の予想を下記のように組み立てています。

一部省略しているので不明な変数もあると思いますが、最後のfor文の中のappendが辞書型のデータに対して追加しています。(←嘘でした。辞書型の中にあるリストに追加している感じですね。)

headers = {'content-type': 'application/json'}

# ベースになる枠組み
payload = {
  "note": " ",
  "price": 0,
  "tickets": [
    {
        "type": "3t",
        "numbers": [
      ]
    }
  ]
}

   #ナンバーと金額が
for k, v in res1["value"]["3t"].items():
    payload['tickets'][0]['numbers'].append({"numberset":k,"bet":v})

response = requests.post('https://v2.mizuhanome.net/api/v1/forecasts/'+dataid+'?session='+session,headers=headers,data = json.dumps(payload))

#3

あと、もしもjson形式の文字列の組み立てが上手くいってるとしたら、最後から2行目の

r3=〜〜

の部分にある json.dumps(gp) を gp にするだけで上手く行くかもしれないです。
json.dumpsは辞書型を文字列(=str)にするためのものですので、もともと文字列をreturnしているのであればjson.dumpsを使う必要はなさそうです。

参考:https://www.lisz-works.com/entry/python-convert-json-dict


#4

最終的に
#pred=[“123”,“124”,“125”]
#ナンバーのみ
for k in pred:
payload[‘tickets’][0][‘numbers’].append({“numberset”:k})

素晴らしい、通りました。ありがとう、解決です。


#5

よかったです :ok_man: