Je voudrais convertir des choses de mon csv.reader dans un dictionnaire. J'ai mis en œuvre les instructions de ce poste Add new keys to a dictionary? mais je continue à obtenir IndexError: list index out of range
. Comment puis-je réparer cela?ajouter de nouveaux éléments à un dictionnaire
import wx
import csv
info = csv.reader(open('report.csv', 'rb'),delimiter=',')
length = 0
info_list = []
for row in info: #search each row in the report
info_list.append([length,row[1],row[4]])
length = length + 1
print length
dict_info = {}
rows = 0
counter = 0
while counter < length:
for item in info_list:
dict_info[item[rows]] = [item[rows + 1], item[rows + 2]]
rows = rows + 3
counter = counter + 1
print dict_info
Pourriez-vous expliquer ce que vous essayez d'atteindre dans un paragraphe? –
Vous surpassez les limites du second 'item' que vous parcourez, qui est une liste, car chaque itération de la boucle' while' ajoute 3 à la valeur 'row' avec laquelle vous indexez' item', mais ' item' ne fait que 3 éléments (puisque vous l'avez créé comme tel en bouclant 'info'). Vous obtenez une erreur d'index dans la liste. la dict n'a pas de problème. Je seconde @JonClements cependant en voulant savoir ce que vous essayez réellement de faire. –