Mam dwie listy, które chcę scalić w jedną tablicę, aby ostatecznie umieścić go w pliku csv. Jestem początkującym z tablicami Pythona, a ja nie rozumiem, jak można uniknąć tego błędu:TypeError: indeksy listy muszą być liczbami całkowitymi lub plasterkami, a nie str
def fill_csv(self, array_urls, array_dates, csv_file_path):
result_array = []
array_length = str(len(array_dates))
# We fill the CSV file
file = open(csv_file_path, "w")
csv_file = csv.writer(file, delimiter=';', lineterminator='\n')
# We merge the two arrays in one
for i in array_length:
result_array[i][0].append(array_urls[i])
result_array[i][1].append(array_dates[i])
i += 1
csv_file.writerows(result_array)
I got:
File "C:\Users\--\gcscan.py", line 63, in fill_csv
result_array[i][0].append(array_urls[i])
TypeError: list indices must be integers or slices, not str
jaki sposób moją pracę liczyć?
Wyraźnie piszesz "array_length" ciąg znaków, więc 'i' to znak nie liczba ... – jonrsharpe
Ooops, nie wyglądałem tak jak należy ... dziękuję !! – Zoloom
przydarzyło mi się to, kiedy myślałem, że parsuję '{thisthing}' podczas gdy faktycznie analizowałem '[{thisthing}]'; np. próbowałem radzić sobie ze słownikiem, ale faktycznie miałem do czynienia z listą. Dynamiczne pisanie ftw. – Tommy