TypeError: indeks senarai mestilah integer atau hirisan, bukan str
Ralat ini berlaku apabila cuba mengakses elemen senarai menggunakan rentetan sebagai indeks. Dalam kod anda, anda cuba mengakses elemen dalam result_array menggunakan i, iaitu rentetan yang mewakili panjang array_dates.
Penyelesaian:
Untuk menyelesaikan isu ini , anda perlu:
Menukar array_length kepada integer:
array_length = len(array_dates)
Gunakan fungsi julat() untuk lelaran ke atas integer ke atas kepada array_length. Alih keluar kenaikan manual i.
for i in range(array_length): # Your code here
Sebagai alternatif, anda boleh zip senarai_tarikh_tatasusunan dan tatasusunan_url kerana mereka mempunyai panjang yang sama:
result_array = zip(array_dates, array_urls)
Kemudian, tulis baris result_array ke fail CSV anda menggunakan kaedah writerows.
Contoh menggunakan kaedah zip():
import csv def fill_csv(array_urls, array_dates, csv_file_path): csv_file_patch = '/path/to/filename.csv' with open(csv_file_patch, 'w') as fout: csv_file = csv.writer(fout, delimiter=';', lineterminator='\n') result_array = zip(array_dates, array_urls) csv_file.writerows(result_array)
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'TypeError: senarai indeks mestilah integer atau kepingan, bukan str' semasa mengakses elemen senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!