Convertir un fichier texte en fichier CSV
Résolu
Bonjour
J'ai arrêté d'utiliser la suite
Qui pourrait m'aider à écrire un script python transformant le fichier texte suivant en CSV ? Étant débutant, en code python j'ai peur de ne pas y arriver. Ci-dessous, le format du fichier produit par
Merci beaucoup.
J'ai arrêté d'utiliser la suite
kasperskyet je suis bloqué pour exporter mes mots de passe. Je voudrais utiliser le logiciel libre
keepasset importer un fichier CSV contenant mes 150 passwords. Hélas, kaspersky manager ne proppose que d'exporter des fichier texte.
Qui pourrait m'aider à écrire un script python transformant le fichier texte suivant en CSV ? Étant débutant, en code python j'ai peur de ne pas y arriver. Ci-dessous, le format du fichier produit par
kaspersky.
Merci beaucoup.
Websites
Website name: xxxxxxx
Website URL: https://xxxxxxxx.com
Login name: xxxxxxx
Login: ***@***
Password: 123456
Comment:
---
Website name:xxxxxxx
Website URL: http://xxxxxx.com
Login name: xxxxxxx
Login: xxxxxxx
Password: 123456
Comment:
---
Website name: xxxxxxx
Website URL: http://xxxxxx.com
Login name: xxxxxxx
Login: xxxxxxx
Password: 123456
Comment:
---
A voir également:
- Convertir txt en csv
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir kindle en epub - Guide
- Convertir gif en video - Guide
- Convertir hevc en jpg - Guide
4 réponses
Bonjour,
Voilà comment tu peux faire :
Contenu de
Bonne chance
Voilà comment tu peux faire :
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import io
# Si tu utilises un fichier, tu peux supprimer cette déclaration
data = io.StringIO("""
Websites
Website name: xxxxxxx
Website URL: [https://xxxxxxxx.com]
Login name: xxxxxxx
Login: ***@***
Password: 123456
Comment:
---
Website name:xxxxxxx
Website URL: [http://xxxxxx.com]
Login name: xxxxxxx
Login: xxxxxxx
Password: 123456
Comment:
---
Website name: xxxxxxx
Website URL: [http://xxxxxx.com]
Login name: xxxxxxx
Login: xxxxxxx
Password: 123456
Comment:
---
""")
def parse_txt(data):
entries = list()
entry = dict()
for line in data.readlines():
line = line.strip()
if line == "---":
entries.append(entry)
entry = dict()
if ":" in line:
tab = line.split(":")
key = tab[0].strip()
value = ":".join(tab[1:]).strip()
entry[key] = value
if entry:
entries.append(entry)
return entries
def entries_to_csv(entries, f):
columns = sorted(set.union(*[
set(entry.keys())
for entry in entries
]))
print("#" + ",".join(columns), file=f)
print(
"\n".join(
",".join(
entry.get(key, "")
for key in columns
)
for entry in entries
),
file=f
)
entries = parse_txt(data)
# Avec un fichier:
# filename_txt = "fichier.txt"
# with open(filename_txt) as f_in:
# entries = parse_txt(f_in)
filename_csv = "fichier.csv"
with open(filename_csv, "w") as f_out:
entries_to_csv(entries, f_out)
Contenu de
fichier.csv:
#Comment,Login,Login name,Password,Website URL,Website name
,***@***,xxxxxxx,123456,https://xxxxxxxx.com,xxxxxxx
,xxxxxxx,xxxxxxx,123456,http://xxxxxx.com,xxxxxxx
,xxxxxxx,xxxxxxx,123456,http://xxxxxx.com,xxxxxxx
Bonne chance
yg_be
Messages postés
23437
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 587
bonjour,
pour t'aider, il faudrait que tu commences ton programme.
sinon, on le ferait à ta place.
pour t'aider, il faudrait que tu commences ton programme.
sinon, on le ferait à ta place.
Oui je comprends, je vais continuer à progresser sur le travail des fichiers txt avec python et proposer un code .