こんにちは。
下記のような外部のJsonデータを参照して結果をpandasを使って下記のようなStatsを作表しようとしています。環境はPythonです。
Jsonデータには各プレイヤー毎の取得ポイント合計と内訳(3ポイントの試投数と成功数だけをとりあえず表示)を下記のような感じに表示したいと思っています。
期待している結果
|Player#|Starting|PlayerName|Points|3PTM|3PTA|
||:--:|--:|
|0|1|Kevin Bacon|3|0|1|
|10|0|George Clooney |15|3|5|
Jsonデータ
JSON
1{ 2result: "OK", 3 4- data: { 5 - 1: [ 6 - { 7 Code: 6, 8 Period: "1Q", 9 TeamNameJ: "Cicago Bulls", 10 TeamID: "mn", 11 LoopCount: 4, 12 - PlayerData:[ 13 - { 14 PlayerNo: "0", 15 PlayerID: "1111", 16 StartingFlg: 1, 17 PlayerName: "Kevin Bacon", 18 Position: "PG/SG", 19 Point: 4, 20 PT3M: 0, 21 PT3A: 0, 22 }, 23 - { 24 PlayerNo: "10", 25 PlayerID: "2222", 26 StartingFlg: 0, 27 PlayerName: "George Clooney", 28 Position: "PG", 29 Point: 0, 30 PT3M: 0, 31 PT3A: 0 32 } 33]
そこでPythonで下記を書きましたがうまくいかず試行錯誤しています。
ヘッダーにはPlayerData: [ 以下のKeyを、
それぞれの数値は各Keyの値から取り出したいのですがうまくいきませんでした
どなたかアドバイスを頂ける方、いらっしゃいますでしょうか。
Python
1# Grab the headers to be used as column headers 2headers = response.json()['data']['1'][0]['PlayerData'][0] 3 4# Grab chart data 5shots = response.json()['data']['1'][0]['PlayerData'][0] 6shot_df = pd.DataFrame(shots, columns=['data']['1'][0]['PlayerData'][0]) 7 8# View the head of the DataFrame and all its columns 9from IPython.display import display 10with pd.option_context('display.max_columns', None): 11 display(shot_df.head())
独学中の為、下記太字部分の表記は別の方の質問を参考に記載しました。
が、実際[0]の持つ意味が分かりません。エラーが返ってこなくなったところをみると大丈夫なのかな?と思っているのですが、
この辺りについて参考にするといいWebサイトや文献などあればアドバイス頂けると助かります。
headers = response.json()['data']['1'][0]['PlayerData'][0]
どうぞよろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。