Suppression de caractère dans une col en perl
Résolu/Fermé
VivoBaggio
Messages postés
140
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
23 janvier 2009
-
5 oct. 2007 à 11:19
VivoBaggio Messages postés 140 Date d'inscription jeudi 27 octobre 2005 Statut Membre Dernière intervention 23 janvier 2009 - 5 oct. 2007 à 15:44
VivoBaggio Messages postés 140 Date d'inscription jeudi 27 octobre 2005 Statut Membre Dernière intervention 23 janvier 2009 - 5 oct. 2007 à 15:44
A voir également:
- Suppression de caractère dans une col en perl
- Caractère ascii - Guide
- Forcer suppression fichier - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractere speciaux mac - Guide
10 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
5 oct. 2007 à 11:22
5 oct. 2007 à 11:22
Salut,
mais pour les autres colonnes, s'il y a des paranthèses il faut les supprimés aussi?
mais pour les autres colonnes, s'il y a des paranthèses il faut les supprimés aussi?
VivoBaggio
Messages postés
140
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
23 janvier 2009
5 oct. 2007 à 11:35
5 oct. 2007 à 11:35
Non, juste pour cette colonne. Je pense qu'il faut rentrer dans la boucle for.
Et de plus, je l'ai pas précisé, mais quand dans cette colonne j'ai 2 chiffres, ex : (2) (3), je dois avoir 2,3.
Il y a une virgule qui s'y met entre. Sinon, il n'y a que le chiffre quand il est seul
Et de plus, je l'ai pas précisé, mais quand dans cette colonne j'ai 2 chiffres, ex : (2) (3), je dois avoir 2,3.
Il y a une virgule qui s'y met entre. Sinon, il n'y a que le chiffre quand il est seul
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
5 oct. 2007 à 11:42
5 oct. 2007 à 11:42
tu n'est pas cohérent
ton fichier a cette fois que 4 colonnes
celui d'hier avait plus - 5 il me semble
ton fichier a cette fois que 4 colonnes
celui d'hier avait plus - 5 il me semble
VivoBaggio
Messages postés
140
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
23 janvier 2009
5 oct. 2007 à 12:04
5 oct. 2007 à 12:04
Oui, mais si tu savais le nombre de colonne que j'ai dans mon xls, tu péterais un cable. C'est pour ca que je l'ai réduit.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
5 oct. 2007 à 12:16
5 oct. 2007 à 12:16
Oui, mais si tu savais le nombre de colonne que j'ai dans mon xls, tu péterais un cable.
tu crois?!
il me faut plus de 256 colonnes pour pêté mes cables et Excel ne peux pas avoir plus :-DDD
Donc ce qui sera interessant de savoir c'est dans quelle colonne il faut supprimé
Aussi si c'est toujours quelque chose de genre (N) (N)
Puisque si tu as (NN) (NNN) alors ça sera difficile de donnerai une soluce
Donc j'ai besoin de savoir toutes les possibilités, même si je pête les cables ;-DDD
tu crois?!
il me faut plus de 256 colonnes pour pêté mes cables et Excel ne peux pas avoir plus :-DDD
Donc ce qui sera interessant de savoir c'est dans quelle colonne il faut supprimé
Aussi si c'est toujours quelque chose de genre (N) (N)
Puisque si tu as (NN) (NNN) alors ça sera difficile de donnerai une soluce
Donc j'ai besoin de savoir toutes les possibilités, même si je pête les cables ;-DDD
VivoBaggio
Messages postés
140
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
23 janvier 2009
5 oct. 2007 à 13:25
5 oct. 2007 à 13:25
Ok, ca va alors, je n'ai qu'une centaine de colonne.
Mais tu peux essayer avec l'exemple que je t'ai donné, c'est à dire la colonne 4.
Aprés je l'adapterai.
Ensuite par rapport aux nombre à l'intérieur, les différents cas sont (je parle par rapport au fichier excel)
1. (1)
2.
3. (1) (2)
4. (1) (2) (3)
Et ce que je dois obtenir au final dans mon csv
1. 1
2.
3. 1,2
4. 1,2,3
Mais tu peux essayer avec l'exemple que je t'ai donné, c'est à dire la colonne 4.
Aprés je l'adapterai.
Ensuite par rapport aux nombre à l'intérieur, les différents cas sont (je parle par rapport au fichier excel)
1. (1)
2.
3. (1) (2)
4. (1) (2) (3)
Et ce que je dois obtenir au final dans mon csv
1. 1
2.
3. 1,2
4. 1,2,3
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
5 oct. 2007 à 14:31
5 oct. 2007 à 14:31
root@debian:~/src# vi ccm.pl #!/usr/bin/perl use strict;use warnings; use Spreadsheet::ParseExcel; open F,">>resultat.csv" or die "E/S : $!\n"; #my $file = "keo4cUWzZ8_Test.xls"; my $file = "Test.xls"; #my $file = "Test.xls"; my $excel = Spreadsheet::ParseExcel::Workbook->Parse($file); my $sheet = ${$excel->{Worksheet}}[0]; foreach my $row (0 ... 2 ){ my $cell1 = $sheet->{Cells}[$row][0]; my $cell2 = $sheet->{Cells}[$row][1]; my $cell3 = $sheet->{Cells}[$row][2]; my $cell4 = $sheet->{Cells}[$row][3]; $cell4->{Val} =~s/[()]//g; $cell4->{Val} =~s/\D//g; $cell4->{Val} =~s/(?<=\d)(?=\d)/,/g; my $res = "$cell1->{Val};$cell2->{Val};$cell3->{Val};$cell4->{Val};"; $res =~s/\n//; $res =~s/\x01\x53/oe/g; $res =~s/\x00//g; print "$res\n"; } __END__
VivoBaggio
Messages postés
140
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
23 janvier 2009
5 oct. 2007 à 15:34
5 oct. 2007 à 15:34
Merci beaucoup pour toute cette aide. Je crois que je vais plus t'embêter maintenant.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
5 oct. 2007 à 15:35
5 oct. 2007 à 15:35
Je crois que je vais plus t'embêter maintenant
qui as dit que tu m'embêtes?
et si c'est le cas alors tu peux continuer :-DDD
qui as dit que tu m'embêtes?
et si c'est le cas alors tu peux continuer :-DDD
VivoBaggio
Messages postés
140
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
23 janvier 2009
5 oct. 2007 à 15:44
5 oct. 2007 à 15:44
OK