Heim > Artikel > Backend-Entwicklung > Warum erhalte ich beim Zugriff auf Listenelemente die Fehlermeldung „TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht str'?
TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht str
Dieser Fehler tritt auf, wenn versucht wird, mit einer Zeichenfolge als auf ein Listenelement zuzugreifen der Index. In Ihrem Code versuchen Sie, mit i auf Elemente in result_array zuzugreifen, einem String, der die Länge von array_dates darstellt.
Lösung:
Um dieses Problem zu beheben , müssen Sie:
array_length in eine konvertieren Ganzzahl:
array_length = len(array_dates)
Verwenden Sie die Funktion „range()“, um über die Ganzzahlen bis zu array_length zu iterieren. Entfernen Sie das manuelle Inkrement von i.
for i in range(array_length): # Your code here
Alternativ können Sie die Listen array_dates und array_urls komprimieren, da sie dieselbe Länge haben:
result_array = zip(array_dates, array_urls)
Dann schreiben Sie die result_array-Zeilen mithilfe der Writerows in Ihre CSV-Datei Methode.
Beispiel für die Verwendung der zip()-Methode:
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)
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Zugriff auf Listenelemente die Fehlermeldung „TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht str'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!