Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que j'obtiens l'erreur « TypeError : les indices de liste doivent être des entiers ou des tranches, pas des str » lors de l'accès aux éléments de la liste ?
TypeError : les indices de liste doivent être des entiers ou des tranches, et non des str
Cette erreur se produit lors de la tentative d'accès à un élément de liste en utilisant une chaîne comme l'indice. Dans votre code, vous essayez d'accéder aux éléments de result_array en utilisant i, qui est une chaîne représentant la longueur de array_dates.
Solution :
Pour résoudre ce problème , vous devez :
Convertir array_length en un entier :
array_length = len(array_dates)
Utilisez la fonction range() pour parcourir les entiers vers le haut à array_length. Supprimez l'incrément manuel de i.
for i in range(array_length): # Your code here
Vous pouvez également compresser les listes array_dates et array_urls car elles ont la même longueur :
result_array = zip(array_dates, array_urls)
Ensuite, écrivez les lignes result_array dans votre fichier CSV en utilisant la méthode writerows.
Exemple en utilisant la méthode zip() :
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!