Il y a plusieurs façons de procéder. Si vous connaissez l'association entre les noms et les colonnes au moment où vous écrivez votre code, la meilleure façon de loin est la suivante:
for row in data:
(foo, bar, baz, bat) = row
... en supposant que vous n'avez pas besoin de mettre à jour row
(et data
).
Si vous devez mettre à jour la ligne, la copie des valeurs dans les variables ne fonctionnera pas. Vous devez manipuler les éléments via leurs index. Dans ce cas, l'approche de aviraldg est simple:
(foo, bar, baz, bat) = range(4)
for row in data:
row[foo] = row[bar]
Si vous souhaitez référencer les colonnes par une chaîne qui contient leur nom, vous devez copier la ligne à un dictionnaire dont la clé est le nom de la colonne . Ensuite, lorsque vous avez fini de manipuler le dictionnaire, vous devez mettre à jour la liste d'origine ou la remplacer par une nouvelle (ce que fait ce code):
columns = ("foo", "bar", "baz", "bat")
for i in range(len(data)):
d = dict(zip(columns, data[i]))
d["foo"] = d["bar"]
data[i] = [d[col] for col in columns]
Est-ce que c'est en Python? Besoin de plus d'infos ... –
Oui, désolé, c'est python. J'essaie d'utiliser les solutions proposées sans avoir de chance. J'ai des erreurs en disant que je ne peux pas indexer avec une chaîne. J'ai du mal à attribuer le nom de la colonne et à le référencer avec succès. Les données proviennent d'un document txt. Ma 2ème colonne est ID, ma troisième colonne est poids et ma 4ème colonne est hauteur. Comment puis-je les nommer et renvoyer? –