Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan 'TypeError: indeks rentetan mestilah integer' Apabila Menghuraikan Data JSON?

Bagaimana untuk Menyelesaikan 'TypeError: indeks rentetan mestilah integer' Apabila Menghuraikan Data JSON?

Linda Hamilton
Lepaskan: 2024-12-06 19:04:12
asal
835 orang telah melayarinya

How to Resolve

Mengelakkan "TypeError: indeks rentetan mestilah integer"

Apabila cuba memanipulasi data daripada fail JSON ke dalam format CSV yang boleh difahami, anda mungkin menghadapi "TypeError: indeks rentetan mestilah ralat integer". Ralat ini timbul apabila mengakses medan rentetan seolah-olah ia adalah kamus. Mari kita terokai penyelesaiannya.

Memahami Ralat

Untuk memahami ralat, adalah penting untuk ambil perhatian bahawa rentetan dalam Python tidak boleh diindeks seperti kamus. Dalam kamus, kunci boleh diakses sebagai rentetan, mis., kamus["kunci"]. Sebaliknya, mengakses medan rentetan mesti dilakukan menggunakan indeks integer, seperti yang ditunjukkan dalam contoh berikut:

mystring = "helloworld"
print(mystring[0])  # Outputs 'h', as '0' refers to the first character
Salin selepas log masuk

Menggunakan Penyelesaian

Dalam kod anda, anda cuba mengakses medan daripada pembolehubah item, iaitu daripada rentetan jenis:

csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])
Salin selepas log masuk

Untuk menyelesaikan isu, tukar pembolehubah item kepada kamus sebelum mengaksesnya medan:

csv_file.writerow([item.get("gravatar_id"), item.get("position"), item.get("number")])
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan fungsi loads() modul json untuk menukar rentetan item terus kepada kamus:

item_dict = json.loads(item)
csv_file.writerow([item_dict["gravatar_id"], item_dict["position"], item_dict["number")])
Salin selepas log masuk

Pengubahsuaian ini akan memastikan anda mengakses medan menggunakan indeks integer, menyelesaikan ralat "TypeError: indeks rentetan mestilah integer".

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'TypeError: indeks rentetan mestilah integer' Apabila Menghuraikan Data JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan