Rapport de message :*
 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée

Titre du sujet : Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
par Guy le 18/05/2010 18:18:06

Bon, procédons avec méthode.

Tout d'abord merci pour le fichier. Il nous permet de cesser de pelleter des nuages.

Le fichier exemple example f1.txt soumis n'est conforme ni au format CSV ni au format largeur fixe. C'est un doux mélange qui confine au cubisme ou à la pataphysique, selon.
Quel automate, procédé ou application fournit un tel fichier? Mystère.

Ce fichier porte 196 lignes dont les 195 premières sont à largeur fixe de 50 caractères. Seule la dernière ligne, qui n'est là que pour brouiller les cartes, porte 79 caractères. Pourquoi cette ligne sans aucune utilité est-elle présente? Chépas.

Toujours avec ce fichier la première et la troisième ligne portent la chaîne de cinquante caractères "+--------+-------------------------+-------------+". Pourquoi?

Toutes les autres lignes, hormis la première, la troisième et la cent quatre-vingts seizième ont le même format :
[séparateur]donnée[séparateur]donnée[séparateur]donnée[séparateur]
Le séparateur en question étant la barre verticale (pipe en Anglais et beaucoup utilisé pour les fichiers CSV)

Un fichier CSV normalement formé compte autant de séparateurs que de données moins une. (n colonnes et n-1 séparateurs) avec la structure de ligne suivante :
donnée[séparateur]donnée[séparateur]... donnée
Il n'y a aucun séparateur en début ou en fin de ligne. Aucun.

Ce fichier hybride porte n colonnes (n = 3) et n +1 séparateurs.
S'il était conforme il porterait trois données et deux séparateurs comme suit :
donnée[séparateur]donnée[séparateur]donnée

Par exemple amusons-nous à ouvrir le fichier example f1.txt directement dans Excel sans autre forme de filtrage. Que se passe-t-il?
Le formulaire de mise en forme s'affiche avec la mention

Type de données d'origine
Largeur fixe

(Excel a subodoré un fichier à largeur fixe. Bravo! Mais voyons où cela nous mène.)

Poursuivons (bouton Suivant). Excel ne compte, en largeur fixe, que deux (2) colonnes. Ouais, ennuyeux.
Et si nous terminons l'ouverture de ce fichier texte nous aurons, pour les lignes portant des données, trois colonnes (eh oui, trois) mais en colonne
A : La référence et la date.
B : Une barre verticale.
C : Un nombre suivi d'une barre verticale.

Loin, très loin du format recherché.

On peut très facilement monter une procédure de débroussaillage ad hoc pour ce fichier. La prochaine question est importante.
Est-ce que cette structure hybride est et sera rigoureusement identique pour tous les autres fichiers à filtrer?

Si la réponse à la question ci-haut est Oui, pas de problème on se bricole une procédure à l'avenant.
Si la réponse à la question ci-haut est Non ou Pas vraiment, on se rabat sur le procédé à la mitaine pour des heures de plaisir.

En attendant réponse à ces questions je reste cordialement à disposition.

Guy