Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Mendapat 'TypeError: Indeks Senarai Mesti Integer atau Slices, Bukan Str' Apabila Menggabungkan Senarai ke dalam CSV?

Mengapa Saya Mendapat 'TypeError: Indeks Senarai Mesti Integer atau Slices, Bukan Str' Apabila Menggabungkan Senarai ke dalam CSV?

Barbara Streisand
Barbara Streisandasal
2024-12-01 21:12:12209semak imbas

Why Am I Getting

TypeError: Senarai Indeks Mesti Integer atau Slices, Bukan Str

Dalam ralat ini, anda menghadapi masalah dengan kod anda yang menggabungkan dua menyenaraikan ke dalam tatasusunan dan menulisnya ke fail CSV. Mesej ralat menunjukkan bahawa anda cuba mengindeks senarai menggunakan rentetan, yang tidak dibenarkan.

Untuk membetulkannya, ikut langkah yang digariskan dalam penyelesaian yang disediakan:

  1. Tukar panjang_tatasusunan kepada integer. Daripada array_length = str(len(array_dates)), gunakan array_length = len(array_dates).
  2. Gunakan fungsi julat dalam gelung for anda. Daripada untuk i dalam array_length, gunakan untuk i dalam julat(array_length).
  3. Alih keluar baris kenaikan i = 1 kerana ia akan meningkat secara automatik.

Pendekatan Alternatif Menggunakan Zip:

Daripada kaedah yang anda gunakan, anda boleh memanfaatkan zip Python berfungsi untuk menggabungkan elemen dua senarai menjadi pasangan, yang kemudiannya boleh ditulis terus ke fail CSV.

import csv

dates = ['2020-01-01', '2020-01-02', '2020-01-03']
urls = ['www.abc.com', 'www.cnn.com', 'www.nbc.com']

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(dates, urls)
    csv_file.writerows(result_array)

Dengan melaksanakan perubahan ini, anda boleh menggabungkan senarai anda dan menulis tatasusunan yang terhasil ke CSV fail tanpa menemui TypeError.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'TypeError: Indeks Senarai Mesti Integer atau Slices, Bukan Str' Apabila Menggabungkan Senarai ke dalam CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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