Utiliser un fichier CSV
Fermé
preliator
-
26 déc. 2019 à 18:54
jee pee Messages postés 40454 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024 - 26 déc. 2019 à 20:26
jee pee Messages postés 40454 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024 - 26 déc. 2019 à 20:26
A voir également:
- Utiliser un fichier CSV
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Utiliser chromecast - Guide
- Fichier host - Guide
3 réponses
jee pee
Messages postés
40454
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
17 novembre 2024
9 417
26 déc. 2019 à 20:26
26 déc. 2019 à 20:26
Je ne fais pas vraiment de python donc ne comprends pas entièrement ton code.
Moi j'imagine un code du style chargement dans un tableau, pas utiliser les headers pour avoir un code plus générique
(il faut affiner pour placer des virgules entre les champs et des simples cotes par encadrer les valeurs)
Moi j'imagine un code du style chargement dans un tableau, pas utiliser les headers pour avoir un code plus générique
import csv with open('passwd.csv', newline='') as f: reader = csv.reader(f) for i in range(len(reader)): if i = 1: print('insert into NOM_DE_LA_TABLE (') for j in range(len(reader[i])): print(reader[i][j], end=' ') print(') values ') else print('(') for j in range(len(reader[i])): print(reader[i][j], end=' ') print(')') print()
(il faut affiner pour placer des virgules entre les champs et des simples cotes par encadrer les valeurs)
jee pee
Messages postés
40454
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
17 novembre 2024
9 417
Modifié le 26 déc. 2019 à 19:25
Modifié le 26 déc. 2019 à 19:25
Bonjour,
Il existe un module python pour gerer des csv : https://www.quennec.fr/trucs-astuces/langages/python/python-le-module-csv
En lecture tu obtiens un tableau, il faut alors faire une boucle sur le tableau pour écrire dans un fichier texte. La 1ère ligne du tableau étant traitée différemment des suivantes.
Tu peux aussi tout traiter toi même. Un csv c'est un fichier texte tout bête. Tu as le fichier csv en entrée, un fichier texte en sortie et tu traites les lignes une par une en découpant la ligne avec le séparateur ; La 1ère ligne du fichier étant là aussi traitée différemment des suivantes.
Cdlt
Il existe un module python pour gerer des csv : https://www.quennec.fr/trucs-astuces/langages/python/python-le-module-csv
En lecture tu obtiens un tableau, il faut alors faire une boucle sur le tableau pour écrire dans un fichier texte. La 1ère ligne du tableau étant traitée différemment des suivantes.
Tu peux aussi tout traiter toi même. Un csv c'est un fichier texte tout bête. Tu as le fichier csv en entrée, un fichier texte en sortie et tu traites les lignes une par une en découpant la ligne avec le séparateur ; La 1ère ligne du fichier étant là aussi traitée différemment des suivantes.
Cdlt
Merci pour votre réponse.
Grâce à votre site, j'ai un début de piste avec ce code :
Ou j'arrive à afficher les éléments comme dans l'exemple :
('CASTEL', 'JULIETTE', '10/12/2000', 'LYON', 15),
('COHEN', 'PABLO', '16/05/1980', 'LYON', 78),
etc
Mais ça reste extrêmement manuel et le code ne s'adapte pas au nombre changeant de colonne. Je continue de chercher un moyen de le rendre plus efficace.
Merci.
Grâce à votre site, j'ai un début de piste avec ce code :
import csv import re with open("data.csv", "r", newline = '') as donnees: reader = csv.reader(donnees, delimiter = ";") for row in reader: print("(" + "'"+ row[0] + "'" + ',' + "'" + row[1] + "'" + ',' + "'" + row[2] + "'" + ',' + "'" + row[3] + "'" + ',' + row[4] + ")" + ',')
Ou j'arrive à afficher les éléments comme dans l'exemple :
('CASTEL', 'JULIETTE', '10/12/2000', 'LYON', 15),
('COHEN', 'PABLO', '16/05/1980', 'LYON', 78),
etc
Mais ça reste extrêmement manuel et le code ne s'adapte pas au nombre changeant de colonne. Je continue de chercher un moyen de le rendre plus efficace.
Merci.