[解決済み】「TypeError: string indices must be integers」と表示されるのですが?
2022-05-02 16:24:52
質問
Pythonの学習とgithubのissueを読みやすい形にすることの両方で遊んでいます。以下のアドバイスを参考にしています。 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","votes","created_at","comments","body","title","updated_at","html_url","user","labels","state"])
for item in data:
csv_file.writerow([item["gravatar_id"], item["position"], item["number"], item["votes"], item["created_at"], item["comments"], item["body"], item["title"], item["updated_at"], item["html_url"], item["user"], item["labels"], item["state"]])
ここで "issues.json" は、私の github issues を含む json ファイルです。これを実行しようとすると、次のようになります。
File "foo.py", line 14, in <module>
csv_file.writerow([item["gravatar_id"], item["position"], item["number"], item["votes"], item["created_at"], item["comments"], item["body"], item["title"], item["updated_at"], item["html_url"], item["user"], item["labels"], item["state"]])
TypeError: string indices must be integers
何が足りないのでしょうか?文字列インデックスとは何ですか?私はこれが動作するようになったら、私はより多くの問題を持っていると確信しています、しかし、今は、私はこれが動作するように大好きです
をいじると
for
ステートメントを単純に
for item in data:
print item
ということは、何かもっと基本的なことが間違っているのでしょう。以下は、私のjsonの一部です。
{"issues":[{"gravatar_id":"44230311a3dcd684b6c5f81bf2ec9f60","position":2.0,"number":263,"votes":0,"created_at":"2010/09/17 16:06:50 -0700","comments":11,"body":"Add missing paging (Older>>) links...
を印刷すると
data
が、実に奇妙な形でつぶされているように見えます。
{u'issues': [{u'body': u'Add missing paging (Older>>) lin...
解決方法は?
item
は、あなたのコード内の文字列である可能性が高いです。文字列のインデックスは角括弧の中にあるもので、例えば
gravatar_id
. そこで、まず、あなたの
data
変数で受け取ったものを確認します。
data
は文字列のリスト(または少なくとも1つの文字列を含むリスト)であるのに対して、辞書のリストであるべきです。
関連
-
Python関数の高度な応用を解説
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み] TypeError: PythonでJSONをパースするとき、文字列のインデックスは整数でなければなりませんか?
-
[解決済み] なぜlist.join(string)ではなくstring.join(list)なのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
Python Decorator 練習問題
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)