-
tableau HTML vers CSV
Bonjour j'ai besoin d'un peu d'aide !
Je voudrais transformer un tableau HTML en csv. J'ai trouve un script qui marche bien http://coscorrosa.com/programs/cgi/html2csv/html2csv.pl mais mon pbl n'est pas completment resolu :(
la premiere colone de mon tableau HTML est NOM Prenom et je voudrais la decouper en deux dans mon fichier csv !
NOM Prenom | phone | mail
DUPOND,David | 324432432 | mail@mail.com
pour que cela donne ceci une fois mon csv importer dans un tableur
NOM | Prenom | phone | mail
DUPOND | David | 324432432 | mail@mail.com
une idee ? merci de votre aide
Obelix
-
voici un exemple plus cocnret !
"Nickname, suname", "phone", "mail", "comments"
"dupont, david", "432423", "mail@mail.com", "azerrttyyy"
"Gates, bill", "334323", "bill@msn.com", "dfsdsfdsfdfs"
vers
"Nickname", "suname", "phone", "mail", "comments"
"dupont", "david", "432423", "mail@mail.com", "azerrttyyy"
"Gates", "bill", "334323", "bill@msn.com", "dfsdsfdsfdfs"
le truc serait de detecter tout les 1er paquets "xxx" de chaques linges pour rempplacer la vurgule à l'interieur par ","
celaz pourrait suffir mais je sais pas comment faire ca en script !
merci de votre aide
-
j'avance petit a petit
je sais separer la premeire colone
$csv =~ s/\"Nom, prenom\"/\"Nom\",\"prenom/;
mais cela plante si je met un accent :(
maintenant il faut que je fasse apreil pour chaque debut de ligne mais avec de vrai Nom et prenom :(
-
bon ben je me repond moi meme et je simplifie le pbl
maintenant je veux transformer
"DUPOND, Alex"
en
"DUPOND", "Alex"
j'utilise ceci
$csv =~ s/\"\w*\s*,\s*\w*\"/\"NOM\",\"PRENOM\"/;
la condition est un
caractere "
suivi d'alphanum
suivi ou pas de plus sieurs espaces
suivi d'alpanum
suivi ou pas de plusieurs expaces
le pbl est cela m"efface tout les noms, prenoms, ca me donne
"NOM", "PRENOM"
comment sauveagrder les valeurs ? (noms et prenoms)
-
-
Excuse je modifie l'expression car y a un espace qui rentre dans le début du Prenom.
A toi de vérifier ;)
-
je pense avoir touver la solution mais bizarre
// je recupere les "nom, prenom"
$chaine = grep(/\"\w*\s*,\s*\w*\"/ ,$csv);
// je remplace la virgule par la chaine ","
$chaine =~ s/,/\",\"/;
// je remplace les "nom, prenom" par "nom","prenom"
$csv =~ s/\"\w*\s*,\s*\w*\"/$chaine/;
le pbl est la vairable $chaine dont voici les traces :
11
21
10
20
10
20