bonjour,
je travaille sur la normalisation de données récupérées à partir de bases Excel.
J'ai converti le fichier Excel en TXT délimité par des tabulations. Puis ensuite je fais une lecture du fichier ligne par ligne et je stocke les données dans un tableau par un split au niveau des tabulations. A partir de là je souhaite récuperer qu'une partie des données (un champ en particulier) pour l'écrire dans un autre fichier. Le code est le suivant :
ici on récupere par exemple le contenu du 9eme champ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #ouverture du fichier1 à lire open(FILER1, "PileCréateurs1.txt"); #ouverture ou création du fichier à creer (en mode écriture) open(FILEW, ">>pileCrea.txt"); while ($ligne1=<FILER1>){ #division de chaque ligne en champ entre les tabulations @champs1 = split(/\t/,$ligne1); print FILEW "$champs1[8]\n"; }
9a marche cependant j'ai un probleme sur un champ "ville" (d'une adresse) ou apparemment il me fait automatiquement un retour chariot (bien k'il n'y ai rien d'apparent sur le fichier TXT ou je récupere les données!!!
Pourtant je ne souhaite pas ce retour à la ligne... Alors comment supprimer ce "\n" contenu dans mon champ???
- Dois-je le stocker dans une nouvelle variable sur laquelle je procede ma normalisation?
- Mais si j'ai d'autres champs qui me posent ce meme genre de problemes par la suite, faudrait il pas mieux automatiser cette détection et suppression de "\n" quand il existe dans un champ?
merci d'avance pour le ptit coup de pouce... je sèche!
Partager