_csv.reader", l'objet n'est pas subscriptable
J'ai un problème avec le csv module en python.
C'est le code que j'ai écrit pour analyser mon csv
def parse(data):
data_delim = data.split("\n")
data_list = csv.reader(data_delim)
return data_list
Le problème que je rencontre est le suivant:
print(data_list[Enum.check_name(skill)][1])
Génère cette erreur
_csv.reader' object is not subscriptable
J'ai un ghetto solution pour ce ci-dessous, mais je préfère utiliser quelque chose de similaire pour le code ci-dessus, quelqu'un aurait-il une solution à cela?
i = 0
for a in data_list:
if i == Enum.check_name(skill):
print(a[1])
i += 1
- Que comptez-vous
data_list[Enum.check_name(skill)]
faire? Vous ne pouvez pas utiliser l'indexation de dire "obtenir la ligne avec cette valeur dans la première colonne". - J'avais l'intention qu'il le obtenir la valeur à l'indice Enum.check_name(compétence), par exemple, je le comparerais à l'écriture data_list[1][1] pour obtenir la valeur de la deuxième ligne de la deuxième colonne.
Vous devez vous connecter pour publier un commentaire.
Que le message d'erreur dit, csv lecteurs ne prennent pas en charge l'indexation. La valeur retournée par
csv.reader
n'est pas une liste; c'est un itérateur sur les lignes.Si vous le souhaitez, vous pouvez créer une liste de toutes les lignes avec
data_list = list(csv.reader(data_delim))
. Ensuite, vous pouvez l'indice de la liste comme vous le feriez pour tout autre.