TypeError: liste des indices doivent être des entiers ou en tranches, pas de str
J'en ai deux de la liste que je veux fusionner en un seul tableau fo enfin le mettre dans un fichier csv. Je suis un newbie avec Python tableaux 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 décompte de travail ?
- Vous faire explicitement
array_length
une chaîne de caractères, donci
est un personnage n'est pas un nombre... - Oups, je n'avais pas l'air de la bonne façon....merci!!!!!
- ce qui m'est arrivé lorsque j'ai pensé que j'étais l'analyse
{thisthing}
alors qu'en réalité, j'étais analyse[{thisthing}]
; par exemple, j'ai essayé de traiter avec un dictionnaire, mais en fait j'avais affaire à une liste. Typage dynamique ftw.
InformationsquelleAutor Zoloom | 2015-09-13
Vous devez vous connecter pour publier un commentaire.
D'abord,
array_length
doit être un entier et non une chaîne de caractères:Seconde, votre
for
boucle doit être construit à l'aide derange
:Troisième,
i
s'incrémente automatiquement, afin de supprimer la ligne suivante:i
est un élément de la liste retournée par la plage (ou la séquence en python 3). Oh, BTW: elles sont toutes les listes, pas de tableaux.J'ai eu la même erreur et l'erreur a été que j'avais ajouté la liste et le dictionnaire dans une liste et quand je l'ai utilisé pour itérer sur la liste de dictionnaires et de l'utilisation de frapper un objet de la liste alors que j'ai utilisé pour obtenir cette erreur.
Sa a été un code d'erreur et fait en sorte que j'ai seulement ajouté dictionnaire des objets de cette liste et il a résolu mon problème.