Utilisez l’encodage CSV !!
Apprenez l’utilisation de base de données avec l’encodage Comma-Separated Values.
étapes :
1 ) Mettez votre fichier dans une variable Python avec la virgule comme séparateur des colonnes et le retour à la ligne comme séparateur des lignes.
2 ) Exécutez votre_variable=Cvs(la_variable_de_lencodage)
3) Utiliser une boucle for i in votre_variable: ...
avec i
comme tuple avec un élément par colonne !
Voici la documentation :
https://numworks.antarctus.repl.co/documentation/csv.html
try: from os import * omega=True except: omega=False class Csv(object): def __init__(self,start=""): self.fichier=None if type(start)==str: self.load(start) elif type(start)==list: self.lines=start def create(self,name,ext="csv"): self.fichier=open(name+"."+ext,"w") self.fichier.write(self.data()) self.fichier.close() def load(self,data): self.data_lines=data.split("\n") while "" in self.data_lines: self.data_lines.remove("") self.lines=[] for i in self.data_lines: if not '"' in i: self.lines+=[i.split(","),] else: self.lines+=[i.split(','),] for j in range(len(self.lines[-1])): if j==len(self.lines[-1]): break if '"'==self.lines[-1][j][0]: while self.lines[-1][j][-1]!='"': self.lines[-1][j]=self.lines[-1][j]+","+self.lines[-1][j+1] del self.lines[-1][j+1] self.lines[-1][j]=self.lines[-1][j][1:-1] def open(self,name): if "." in name: self.fichier=open(name) else: self.fichier=open(name+".csv") if ".py" in name: data=self.fichier.read()[1:-1] else: data=self.fichier.read() self.fichier.close() self.load(data) def __iter__(self): for i in self.lines: yield tuple(i) def __bool__(self): return bool(self.data()) def __str__(self): return self.data() def __repr__(self): if self.fichier: return "<CVS reader of \""+self.fichier.name+"\">" return "<CVS reader>" def __getitem__(self,i): return tuple(self.lines[i]) def __setitem__(self,i,j): self.lines[i]=j def __delitem__(self,i): del self.lines[i] def __add__(self,i): return Cvs(self.data()+"\n"+i.data()) def data(self): def call(elem): elem=elem[:] for i in range(len(elem)): elem[i]=str(elem[i]) if "," in elem[i]: elem[i]="\""+elem[i]+"\"" return ",".join(elem) return "\n".join(list(map(call,self.lines[:]))) def query(self,callback=lambda x: True,key=None): r=[] for i in self: if callback(i): r+=[i,] if key: r.sort(key=key) return r if not omega: #Pour tout les pauvres deconnectes del Csv.create del Csv.open