「TypeError: 文字列インデックスは整数である必要があります」と表示されるのはなぜですか? 質問する

「TypeError: 文字列インデックスは整数である必要があります」と表示されるのはなぜですか? 質問する

私はPythonの学習とGitHubの問題を読み取り可能な形式にしようとしています。JSON を CSV に変換するにはどうすればいいですか?、私はこれを思いつきました:

import json
import csv

f = open('issues.json')
data = json.load(f)
f.close()

f = open("issues.csv", "wb+")
csv_file = csv.writer(f)

csv_file.writerow(["gravatar_id", "position", "number"])

for item in data:
    csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])

ここで「issues.json」は私のGitHubのissuesを含むJSONファイルです。これを実行しようとすると、

TypeError: string indices must be integers

ここで何が欠けているのでしょうか? 「文字列インデックス」とは何ですか?

ここに私の JSON コンテンツの一部を示します:

{"issues": [{"gravatar_id": "44230311a3dcd684b6c5f81bf2ec9f60", "position": 2.0, "number": 263...

ベストアンサー1

変数はitem文字列です。インデックスは次のようになります。

>>> mystring = 'helloworld'
>>> print mystring[0]
'h'

上記の例では、0文字列のインデックスを使用して最初の文字を参照します。

文字列は文字列インデックスを持つことができません (辞書のように)。したがって、これは機能しません:

>>> mystring = 'helloworld'
>>> print mystring['stringindex']
TypeError: string indices must be integers

おすすめ記事