TypeError: les indices de liste doivent être des entiers ou des tranches, pas str
j'ai deux listes que je veux fusionner dans un tableau pour finalement le mettre dans un fichier csv. Je suis un débutant avec les tableaux de Python et je ne comprends pas comment je peux éviter cette erreur:
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)
Et a obtenu :
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
Comment mon compte peut-il fonctionner ?
20
demandé sur
Benjamin
2015-09-14 00:03:41
1 réponses
tout d'Abord, array_length
devrait être un entier et non une chaîne:
array_length = len(array_dates)
Deuxièmement, votre for
la boucle doit être construite en utilisant range
:
for i in range(array_length): # Use `xrange` for python 2.
Troisième i
augmentera automatiquement, donc supprimez la ligne suivante:
i += 1
18
répondu
Alexander
2017-10-23 02:43:03