Bonjour,
J'ai un fichier avec des lignes sous cette forme
Je voudrais par ligne, récupérer chaque champ dans un tableau, sachant que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part field1 field2 field3 " field 4 "
- une ligne peut être vide ou contenir des espaces ou/et des tabulations
- chaque champ est séparé par un ou plusieurs caractères espace ou/et tabulation
- si un champ est entre guillemet, les caractère espace ou tabulation ne doivent pas être supprimés
- si un champ est entre guillemet, les guillemets doivent être supprimés. ex : "salut toi" => salut toi.
- si un guillemet est ouvert mais n'est pas refermé, la ligne ne doit pas être prise en compte (et un message d'erreur doit être généré)
- si le caractère guillemet est précédé du caractère '\', il doit être géré comme un caractère normal et le '\' doit être supprimé. ex : "salut \"toi " => salut "toi.
Comment faut-il faire pour gérer cela ?... la principale problématique étant de gérer les guillemets et les multiple caractères de séparation de champ (espace et tabulation)
Mon code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 with open('file.ini', "r") as textfile: for line in textfile: line = line.strip() # suppression retour de ligne if not line: continue # ligne vide print(line) fields = line.split(' ') if not fields: continue # pas de champ for field in fields: print("\"" + field + "\"")
Partager