Mettre à jour un fichier CSV à partir d'un autre (en python)
Résolu/Fermé
damien.1l2
-
Modifié le 13 déc. 2022 à 15:06
mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 - 9 déc. 2022 à 19:06
mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 - 9 déc. 2022 à 19:06
A voir également:
- Mettre à jour un fichier CSV à partir d'un autre (en python)
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Ouvrir un fichier .bin - Guide
- Mettre à jour ses pilotes - Guide
2 réponses
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
9 déc. 2022 à 17:24
9 déc. 2022 à 17:24
Bonjour,
As-tu entendu parler de Pandas ?
mamiemando
Messages postés
33363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
16 novembre 2024
7 801
Modifié le 9 déc. 2022 à 19:08
Modifié le 9 déc. 2022 à 19:08
Bonjour,
Tu peux relativement charger un fichier csv avec pandas (voir pandas.read_csv) ou avec le module csv. Ceci fait, il suffit de former deux ensembles : les produits chez le fournisseur et les produits en stock. En admettant que ces ensembles soient stockés sous forme de set, tu peux facilement faire leur intersection et leurs soustractions.
Ce serait pas mal que tu nous donnes deux exemples minimaux (en copiant collant le début de tes csv) plutôt que de nous donner une capture d'écran peu pratique.
fournisseur.csv
produit,quantite
balle,2
vélo,3
quille,6
hochet,1
dé,2
stock.csv
produit,quantite
balle,2
diabolo,1
roller,2
quille,6
programme.py
import pandas as pd print("-" * 80) print("fournisseur") df1 = pd.read_csv("fournisseur.csv") print(df1) print("-" * 80) print("stock") df2 = pd.read_csv("stock.csv") print(df2) print("-" * 80) print("comparaison") s1 = set(df1["produit"]) s2 = set(df2["produit"]) print(s1 - s2) print(s2 - s1) print(s1 & s2)
Résultat
--------------------------------------------------------------------------------
fournisseur
produit quantite
0 balle 2
1 vélo 3
2 quille 6
3 hochet 1
4 dé 2
--------------------------------------------------------------------------------
stock
produit quantite
0 balle 2
1 diabolo 1
2 roller 2
3 quille 6
--------------------------------------------------------------------------------
comparaison
{'dé', 'vélo', 'hochet'}
{'roller', 'diabolo'}
{'balle', 'quille'}
Bonne chance
9 déc. 2022 à 17:33
Salut !
Oui j'ai lu toute la doc mais j'ai pas réussi a en tirer grand chose...