

複数のjsonファイルの中の数字を読み込むときに345個のファイルを読み込みたいのに256個までしか読み取ることができません。  
原因がわからないので理由と対処法を教えていただきたいです。

プログラムコード

[code]

    import json
    
    i = 000000000000
    
    for file_name in ["rightleft_{:012d}_keypoints.json".format(i) for i in range(345)]:
        with open(file_name) as f:
            read_data = json.load(f)
            print(read_data['people'][0]['face_keypoints_2d'][21])
    
[/code]

エラーコード  
256個までファイルを読み込んだあとに

[code]

    Traceback (most recent call last):
    
[/code]

と出て

[code]

    IndexError: list index out of range
    
[/code]

というエラーが出る。

プログラム初心者なので基礎的なことかもしれませんがお願いします。


CC BY-SA 4.0
2019-01-12T08:43:39.473
51914
2021-02-08T06:57:17.933
2019-01-12T10:04:10.323
3060
31694
question
python python3 json
Pythonでjsonファイル読み込み


それぞれの行を`try except`で囲んでみては？  
該当のファイルが有効なjsonデータでないとか、 ['people'][0]['face_keypoints_2d'][21]
に相当するデータが無いとか、どちらの行で、どんな状況でエラーになっていたのか、を確認してみてください。

* * *

この投稿は @kunif
さんの[コメント](https://ja.stackoverflow.com/questions/51914/#comment54220_51914)などを元に編集し、[コミュニティWiki](https://ja.meta.stackoverflow.com/q/1583)として投稿しました。


CC BY-SA 4.0
2021-02-08T06:57:17.933
73861
2021-02-08T06:57:17.933
9820
51914
answer