36 lines
1.4 KiB
Python
36 lines
1.4 KiB
Python
import json
|
|
from collections import defaultdict
|
|
|
|
# Chemin vers ton fichier d'entrée et de sortie
|
|
input_file = "Paires-de-phrases-en-ukrainien-francais-2026-01-06.tsv" # Remplace par ton chemin
|
|
output_file = "paires.json" # Fichier de sortie
|
|
|
|
# Dictionnaire pour stocker les paires uniques (clé = phrase ukrainienne, valeur = liste de traductions)
|
|
unique_pairs = defaultdict(list)
|
|
|
|
# Lire le fichier d'entrée
|
|
with open(input_file, "r", encoding="utf-8") as f:
|
|
for line in f:
|
|
# Diviser la ligne en colonnes (séparateur = tabulation)
|
|
parts = line.strip().split("\t")
|
|
if len(parts) >= 3:
|
|
uk_text = parts[1] # Texte ukrainien
|
|
fr_text = parts[3] # Traduction française
|
|
# Ajouter la paire au dictionnaire (évite les doublons)
|
|
if fr_text not in unique_pairs[uk_text]:
|
|
unique_pairs[uk_text].append(fr_text)
|
|
|
|
# Écrire le fichier JSONL de sortie
|
|
with open(output_file, "w", encoding="utf-8") as f_out:
|
|
for uk_text, fr_translations in unique_pairs.items():
|
|
# Prendre la première traduction (ou toutes si tu préfères)
|
|
for fr_text in fr_translations:
|
|
# Créer une entrée JSONL
|
|
entry = {
|
|
"text": uk_text,
|
|
"translation": fr_text
|
|
}
|
|
f_out.write(json.dumps(entry, ensure_ascii=False) + "\n")
|
|
|
|
print(f"Fichier JSONL généré : {output_file}")
|