urgh, quelqu'un a des cours de base pour mapper des identifiants en python ? (j'ai deux .csv, avec la colonne B d'identifiants communs, je veux ajouter le contenu de la colonne C de 1.csv à la colonne C de 2.csv, selon l'identifiant B. Le piège étant que B apparaît deux fois et qu'il faut trier selon A aussi (j'arrive à m'embrouiller moi-même ><))
Je précise que si je demande des *cours* c'est parce que je n'y connais *rien* en python, donc j'ai vraiment besoin d'une page qui explique tout, juste "utilise ça", ça le fait carrément pas ;)
@Harmonia_Amanda ok
1) charger les donnés des csv https://docs.python.org/2/library/csv.html?highlight=csv#csv.DictReader
2) Trier les donnés avec sort et itemgetter https://docs.python.org/2/library/operator.html#operator.itemgetter datas.sort(key=itemgetter('B')) par exemple pour trier par la colonne B
3) Faire un dictionnaire avec pour clé B en prenant en compte les multiples lignes pour un même identifiant https://docs.python.org/2/library/itertools.html#itertools.groupby
@Harmonia_Amanda teste et pose des questions si tu bloques sur ces première étape :-)
@kanor là, je pige tellement rien à la doc que je me dis que le faire à la main vu que je n'ai que 9000 lignes ira vachement plus vite.
@Harmonia_Amanda :/ je te rajoute des explications sur l'exemple
#Chargement de la librairie
import csv
#on aurait pu écrire
#csvfile = open('names.csv') c'est
#ça va permettre de manipuler le #fichier names.csv
with open('names.csv') as csvfile:
#la base de python l'indentation
#la on lit le fichier csv
reader = csv.DictReader(csvfile)
#on boucle, row est un dictionnaire avec comme clé le nom de l’entête de ton fichier
for row in reader:
print(row['first_name'], row['last_name'])
@kanor franchement, j'en ai pour plus de deux heures pour faire un script fonctionnel et moins de deux heures pour le faire à la main. J'y vais à la main.
@kanor si j'ai bien compris, il faut que A soit identique là ? Mes A ne sont pas identiques (enfin rarement) ce sont des translittérations différentes d'un même nom, du coup un humain pige lequel va avec lequel mais je suppose qu'un script devrait filtrer autrement ?
@kanor (quand je disais que ce serait plus rapide à la main, c'était pas des blagues)