Se connecter

Informatique

Programmation

Sujet : Convertir CSV en une liste custom en ligne
1
Jambon_Sexy
Niveau 11
03 juin 2020 à 19:44:40

Hello,

J'aurais besoin de transformer un CSV de deux colonnes qui apparaît comme ça :

Colonne 1 / Colonne 2
Mot1 / Traduction1
Mot2 / Traduction2
Mot3 / Traduction3
Mot4 / Traduction4

En ce genre de format :

method0000=methodname:"listreplace"; active:"1"; replace:"Mot1$?$13$:$$?$10$:$Mot2$?$13$:$$?$10$:$Mot3$?$13$:$$?$10$:$Mot4$?$13$:$$?$10$:$"; replacewith:"Traduction1$?$13$:$$?$10$:$Traduction2$?$13$:$$?$10$:$Traduction3$?$13$:$$?$10$:$Traduction4$?$13$:$$?$10$:$"; casesensitive:"0"; regularexpressions:"0"; applyto:"name";

En gros, j'aimerais insérer les mots de la colonne 1 dans les emplacements de cette longue ligne... Le code devrait être dynamique car des mots seront ajoutés au fur et à mesure.

J’observe que chaque mot est séparé par $?$13$:$$?$10$:$ dans cette expression...

Idéalement, un script sur excel fonctionnerait, comment s'y prendre ?

godrik
Niveau 22
03 juin 2020 à 20:27:18

Ce qui m'inquiete est que tu dis "En ce genre de format". Si tu ne connais pas exactement le format qui est attendu par l'outil qui va parser le deuxieme format, ce que tu vas faire ne va probablement pas fonctionner.

NeuroShitical
Niveau 9
04 juin 2020 à 11:30:53

Le format de sortie c'est quoi ? Une seule ligne ? Plusieurs lignes ?

Dans tous les cas tu peux sûrement t'en sortir avec python rapido :
import pandas as pd df = pd.read_csv("chemin_du_fichier") res = "debut de ton fichier de sortie" for val in df["colonne1"]: res+= val + "tes dollards/separateurs..."

Tu iteres ensuite sur ta colonne 2 et t'es bon

H_A_L_B_E_R_D
Niveau 7
04 juin 2020 à 11:48:19

Un peu de bash et c'est bon, je pense. cut, tr, grep.

1
Sujet : Convertir CSV en une liste custom en ligne
   Retour haut de page
Consulter la version web de cette page