Bagaimana untuk Membetulkan Ralat 'TypeError: Senarai Indeks Mesti Integer atau Slices, Bukan Str' dalam Python?

Susan Sarandon
Lepaskan: 2024-11-19 06:24:03
asal
1000 orang telah melayarinya

How to Fix the

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:

  1. Tukar panjang senarai kedua (array_dates) kepada integer, kerana indeks mesti sentiasa integer.

    array_length = len(array_dates)
    Salin selepas log masuk
  2. 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.
    Salin selepas log masuk
  3. Alih keluar baris i = 1 daripada gelung anda, kerana ia tidak lagi diperlukan.

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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!

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