Lecture fichier de données avec Python #
On a le fichier suivant, contenant login, password et id numérique :
toto:monpass:1234
titi:passwd:3615
tata:superpwd:42
Si votre fichier est un fichier csv
, regardez en premier la lecture de fichier avec le module csv
…
Lecture sans le module csv
#
On peut le lire et le traiter en Python ainsi :
with open("fic_pass.txt", "r") as f:
lignes = f.readlines()
# lignes est une liste dont chaque élément
# est une ligne du fichier
print(lignes)
# On enlève les retours chariot en fin de ligne
lignes_2 = [l.strip() for l in lignes]
# puis on découpe en champs sur le :
fields = [l.split(":") for l in lignes_2]
print(fields)
Ou encore :
with open("fic_pass.txt", "r") as f:
raw_data = f.read()
# On crée la liste de lignes
lignes = raw_data.splitlines()
# puis on découpe en champs sur le :
fields = [l.split(":") for l in lignes]
print(fields)
Lecture avec le module csv
#
Dans ce cas précis, le fichier est un fichier csv
avec :
comme séparateur de champs. On peut donc aussi utiliser le module csv
de la bibliothèque Python standard :
import csv
fields = []
with open("fic_pass.txt", "r") as f:
reader = csv.reader(f, delimiter=':')
for row in reader:
fields.append(row)
print(fields)
Dans le cas où les colonnes ont des titres, on pourra utiliser
csv.DictReader
pour produire une liste de dictionnaires plutôt qu’une liste de listes.