Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa saya mendapat ralat 'TypeError: indeks rentetan mestilah integer' semasa memproses data JSON isu GitHub?
Mengapa "TypeError: indeks rentetan mestilah integer" dengan Data Isu GitHub?
Apabila menukar data isu GitHub daripada format JSON kepada CSV menggunakan Python, pengaturcara mungkin menghadapi ralat "TypeError: indeks rentetan mestilah integer." Untuk menyelesaikan isu ini, adalah penting untuk memahami sifat ralat dan membuat pelarasan yang diperlukan pada kod.
Mesej ralat menunjukkan ketidakpadanan antara indeks berasaskan integer yang dijangka dan indeks rentetan yang digunakan dalam kod. Apabila bekerja dengan rentetan, mengakses aksara tertentu menggunakan indeks integer adalah sah. Walau bagaimanapun, pendekatan ini tidak boleh digunakan pada objek lain, seperti kamus atau senarai.
Memeriksa kod yang disediakan mendedahkan bahawa isu itu terletak pada baris berikut:
csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])
Di sini, item ialah kamus dan kuncinya, iaitu "gravatar_id", "position", dan "nombor," mewakili nilai yang ditulis pada fail CSV. Ralat berlaku kerana kamus menggunakan kekunci rentetan untuk mengakses nilainya, bukan indeks integer.
Untuk membetulkan isu ini, adalah penting untuk mengubah suai kod untuk menggunakan indeks rentetan dan bukannya indeks integer. Kod yang diperbetulkan sepatutnya kelihatan seperti ini:
csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])
Dengan menukar nilai berangka kepada rentetan, kod tersebut boleh berjaya menulis data ke dalam fail CSV tanpa menemui ralat "TypeError: indeks rentetan mestilah integer".
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'TypeError: indeks rentetan mestilah integer' semasa memproses data JSON isu GitHub?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!