TypeError: Senarai Indeks Mesti Integer
Ralat "TypeError: senarai indeks mestilah integer atau hirisan, bukan str" berlaku apabila anda cuba mengakses item senarai menggunakan indeks rentetan dan bukannya integer atau kepingan. Ralat ini adalah perkara biasa apabila menggabungkan dua senarai ke dalam tatasusunan tunggal untuk eksport CSV.
Untuk mengelakkan ralat ini, ikut langkah berikut:
Tukar panjang senarai kedua (array_dates) kepada integer, kerana indeks mesti sentiasa integer.
array_length = len(array_dates)
Lelar melalui integer array_length baharu menggunakan fungsi julat, yang secara automatik menambah nilai lelaran.
for i in range(array_length): # Use `xrange` for Python 2.
Anda juga boleh menyelaraskan kod anda dengan menggunakan zip untuk menggabungkan dua senarai, kerana ia mempunyai panjang yang sama:
result_array = zip(array_dates, array_urls) csv_file.writerows(result_array)
Berikut ialah kod yang diperbetulkan:
def fill_csv(self, array_urls, array_dates, csv_file_path): array_length = len(array_dates) # We fill the CSV file with open(csv_file_path, "w") as file: csv_file = csv.writer(file, delimiter=';', lineterminator='\n') # We merge the two arrays in one result_array = [] for i in range(array_length): result_array[i][0].append(array_urls[i]) result_array[i][1].append(array_dates[i]) csv_file.writerows(result_array)
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'TypeError: Senarai Indeks Mesti Integer atau Slices, Bukan Str' dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!