7 changed files with 67602 additions and 11 deletions
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,35 @@ |
|||||||
|
import json |
||||||
|
from collections import defaultdict |
||||||
|
|
||||||
|
# Chemin vers ton fichier d'entrée et de sortie |
||||||
|
input_file = "Paires de phrases en ukrainien-français - 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}") |
||||||
Loading…
Reference in new issue