Bonjour à tous,
je voudrais arriver à faire un script qui me dédoublonne les lignes dans un fichier .csv ??
Comment puis je partir ? quelqu'un peut il m'aiguiller ?
merci,
panaone
Bonjour à tous,
je voudrais arriver à faire un script qui me dédoublonne les lignes dans un fichier .csv ??
Comment puis je partir ? quelqu'un peut il m'aiguiller ?
merci,
panaone
Salut
Tu as un exemple de fichier csv ? Ca devrait être pas trop complexe.
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
Mon fichier csv sera composé ainsi :
et je voudrais pouvoir dedoublonner celui-ci sur le numéro de téléphone ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 2 M ;21 av Fort 92120 MONTROUGE ;;01 47 46 83 06;01 47 46 83 87;; 2C Relec (SARL) ;61 av Anatole France 92700 COLOMBES ;;01 47 84 95 98;;; 3 CR ;10 r Géraniums 92500 RUEIL MALMAISON ;;01 41 42 10 40;01 41 42 10 67;; 3 E ;3 r Guynemer 92700 COLOMBES ;;01 46 49 30 58;01 47 85 36 76;; 3G Maintenance ;ZAC BONDY NORD 73 Av du 14 juillet 93140 Bondy ;;01 48 48 71 06;01 48 48 95 50;; A Abarre Batiment ;2 r Armand Silvestre 92400 COURBEVOIE ;;01 43 34 56 00;;; A la Centrale des Artisans ;169 r Galliéni 92100 BOULOGNE BILLANCOURT ;;01 46 04 44 85;;; A la Centrale des Artisans ;169 r Galliéni 92100 BOULOGNE BILLANCOURT ;;01 46 04 44 85;;; A la Centrale des Artisans ;169 r Galliéni 92100 BOULOGNE BILLANCOURT ;;01 46 04 44 85;;; A la Centrale des Artisans ;169 r Galliéni 92100 BOULOGNE BILLANCOURT ;;01 46 04 44 85;;; A La Compagnie des Ouvriers Réparateurs ;13 bd République 92250 LA GARENNE COLOMBES ;;01 42 42 03 76;;; A La Compagnie des Ouvriers Réparateurs ;14 r Guynemer 92380 GARCHES ;;01 47 41 06 34;;; A La Compagnie des Ouvriers Réparateurs ;16 r Kléber 92130 ISSY LES MOULINEAUX ;;01 46 45 19 64;;; A La Compagnie des Ouvriers Réparateurs ;183 av Achille Peretti 92200 NEUILLY SUR SEINE ;;01 47 22 53 93;;; A La Compagnie des Ouvriers Réparateurs ;191 bd Voltaire 92600 ASNIERES SUR SEINE ;;01 40 80 06 35;;; A La Compagnie des Ouvriers Réparateurs ;1Bis r Pierre et Marie Curie 92140 CLAMART ;;01 46 45 57 79;;; A La Compagnie des Ouvriers Réparateurs ;30 r Edith Cavell 92400 COURBEVOIE ;;01 46 35 54 43;;; A La Compagnie des Ouvriers Réparateurs ;37 av Jean Jaurès 92150 SURESNES ;;01 47 72 44 60;;;
Il te suffit de parser ton fichier (avec des splits si ton fichier reste toujours aussi simple, sinon avec Text::CSV_XS) et de ranger tes lignes dans un hash indexé par les numéros de téléphone... Puis de le réécrire trié comme tu veux.
--
Jedaï
slt,
mais t'as pas un petit exemple pour m'orienter ?
je voudrais juste que tu me montres le début du script que je cherche à faire ? et comment définir un index dans un tableau ?
panaone
Un truc comme ça :
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #! /usr/bin/perl use strict; use warnings; open my $csv_file, '<', "monfichier.csv" or die "Problème pour ouvrir mon fichier CSV : $!\n"; my %adresses; while( <$csv_file> ){ my @fields = split /;/, $_; $adresses{$fields[3]} = $_; } foreach my $num ( sort keys %adresses ){ print $adresses{$num}; }
Jedaï
Partager