[Cherche logiciel ou méthode] importer une base non structurée

Le
Baton .rouge
Posté aussi sur m.p.f.access (oublie de ma part que la question peut être aussi posté ici). Mes excuses.


Bonjour

J'ai un fichier (rapport au format texte extrait d'un PDF) détaillant des points d'un
vieux programme.
Il n'est pas structuré :
- ni par des [bloc] comme dans les fichiers ini
- ni par des tabulations
- ni du type "xml"

ça ressemble à ça (les noms ont été changé pour plus de facilité. Tout ressemblance avec des personnes existante ou ayant existé
ne serait) :


**********************************************************************

bloc 1 (TshirtGroupe1) AA1

description : XXXXXXXXXXXXXXX Taille : XXXXXXXXXXXX
reference : XXXXXXXXXXXXXXXXXX

bloc 1 (TshirtGroupe1) BB1

Couleur : XXXXXXXXXX

bloc 1 (TshirtGroupe1) CC1

fournisseur: XXXXXXXXXX

Fin de page 1

bloc 2 (TshirtGroupe1) AA1

description : XXXXXXXXXXXXXXX Taille : XXXXXXXXXXXX
reference : XXXXXXXXXXXXXXXXXX

bloc 2 (TshirtGroupe1) BB1

Couleur : XXXXXXXXXX

bloc 2 (TshirtGroupe1) CC1

fournisseur: XXXXXXXXXX

Fin de page 2

bloc 3 (PantalontGroupe1) AA1

reference : XXXXXXXXXXXXXXXXXX
Taille : XXXXXX
Couleur : XXXXXXXXXX

bloc 3 (PantalontGroupe1) CC1

Température : XXXXXXXXXX

Fin de page 3


****************************************************************


Voilà en gros le style de 3 blocs parmis des centaines qui peuvent être très différent. Et j'en ai des centaines de fichiers de 40
ou 50 pages (uniquement des espaces, pas de tabulation)

Donc je cherche un moyen de traiter cela au mieux pour en sortir un
csv puis access ou excel

Existe t il un logiciel capable d'apprendre de faire ça ?

Il y a déjà des repères :
- les ""
- les "bloc X"
- les parenthèses
- les libellés précédant les ":"



Le resultat peut être du genre :
"bloc","parenthese","Code1","Code2","Code3", "reference", "description", "Taille", "Température", "couleur", "fournisseur"
1, TshirtGroupe1, AA1, BB1, CC1, XXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXX,XXXXXXXXXXXX,,XXXXXXXXXX,XXXXXXXXXX
2, TshirtGroupe1, AA1, BB1, CC1, XXXXXXXXXXXXXXXXXX,, XXXXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXX
3, PantalonGroupe1, AA1,, CC1, XXXXXXXXXXXXXXXXXX,, XXXXXXXX, XXXXXXXXXXXXXXXX,XXXXXXXXXX,XXXXXXXXXX,


Je pensais passer pas la solution des regex, mais c'est pas évident. Il y a aussi la solution de tronçonner chaque bloc puis
d'analyser de contenu, mais ça reste pas évident non plus.
Il y a aussi la difficulté des 2 colonne (bloc 1, AA1 : descrition/taille) sachant qu'il n'y a pas de tabulation.





Merci de votre aide pour une éventuelle piste.




--
Vous voulez un conseil ?
Ne faites jamais confiance à ceux qui vous donnent des conseils.
--
Vous voulez un conseil ?
Ne faites jamais confiance à ceux qui vous donnent des conseils.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #25750602
Bonjour,

Pour faire un programme qui soit adapté à tes fichiers textes,
tu devrais publier un bon extrait d'un fichier texte typique à transformer.

Tu peux modifier les noms à volonté, pourvu que la disposition
ne soit pas touchée.

Utilise l'adresse cjoint.com et retourne-nous ici l'adresse que tu
obtiendras.




MichD
---------------------------------------------------------------
"Baton .rouge" a écrit dans le message de groupe de discussion :


Posté aussi sur m.p.f.access (oublie de ma part que la question peut être
aussi posté ici). Mes excuses.


Bonjour

J'ai un fichier (rapport au format texte extrait d'un PDF) détaillant des
points d'un
vieux programme.
Il n'est pas structuré :
- ni par des [bloc] comme dans les fichiers ini
- ni par des tabulations
- ni du type "xml"

ça ressemble à ça (les noms ont été changé pour plus de facilité. Tout
ressemblance avec des personnes existante ou ayant existé
ne serait...) :


**********************************************************************

bloc 1 (TshirtGroupe1) AA1
---------------------------------
description : XXXXXXXXXXXXXXX Taille : XXXXXXXXXXXX
reference : XXXXXXXXXXXXXXXXXX

bloc 1 (TshirtGroupe1) BB1
---------------------------------
Couleur : XXXXXXXXXX

bloc 1 (TshirtGroupe1) CC1
---------------------------------
fournisseur: XXXXXXXXXX

Fin de page 1

bloc 2 (TshirtGroupe1) AA1
---------------------------------
description : XXXXXXXXXXXXXXX Taille : XXXXXXXXXXXX
reference : XXXXXXXXXXXXXXXXXX

bloc 2 (TshirtGroupe1) BB1
---------------------------------
Couleur : XXXXXXXXXX

bloc 2 (TshirtGroupe1) CC1
---------------------------------
fournisseur: XXXXXXXXXX

Fin de page 2

bloc 3 (PantalontGroupe1) AA1
---------------------------------
reference : XXXXXXXXXXXXXXXXXX
Taille : XXXXXX
Couleur : XXXXXXXXXX

bloc 3 (PantalontGroupe1) CC1
---------------------------------
Température : XXXXXXXXXX

Fin de page 3


****************************************************************


Voilà en gros le style de 3 blocs parmis des centaines qui peuvent être très
différent. Et j'en ai des centaines de fichiers de 40
ou 50 pages (uniquement des espaces, pas de tabulation)

Donc je cherche un moyen de traiter cela au mieux pour en sortir un
csv puis access ou excel

Existe t il un logiciel capable d'apprendre de faire ça ?

Il y a déjà des repères :
- les "---------------------------------"
- les "bloc X"
- les parenthèses
- les libellés précédant les ":"



Le resultat peut être du genre :
"bloc","parenthese","Code1","Code2","Code3", "reference", "description",
"Taille", "Température", "couleur", "fournisseur"
1, TshirtGroupe1, AA1, BB1, CC1,
XXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXX,XXXXXXXXXXXX,,XXXXXXXXXX,XXXXXXXXXX
2, TshirtGroupe1, AA1, BB1, CC1, XXXXXXXXXXXXXXXXXX,, XXXXXXXXXXXXXXXXXX,
XXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXX
3, PantalonGroupe1, AA1,, CC1, XXXXXXXXXXXXXXXXXX,, XXXXXXXX,
XXXXXXXXXXXXXXXX,XXXXXXXXXX,XXXXXXXXXX,


Je pensais passer pas la solution des regex, mais c'est pas évident. Il y a
aussi la solution de tronçonner chaque bloc puis
d'analyser de contenu, mais ça reste pas évident non plus.
Il y a aussi la difficulté des 2 colonne (bloc 1, AA1 : descrition/taille)
sachant qu'il n'y a pas de tabulation.





Merci de votre aide pour une éventuelle piste.




--
Vous voulez un conseil ?
Ne faites jamais confiance à ceux qui vous donnent des conseils.
--
Vous voulez un conseil ?
Ne faites jamais confiance à ceux qui vous donnent des conseils.
Baton .rouge
Le #25752472
On Tue, 29 Oct 2013 18:41:42 -0400, "MichD"
Bonjour,

Pour faire un programme qui soit adapté à tes fichiers textes,
tu devrais publier un bon extrait d'un fichier texte typique à transformer.

Tu peux modifier les noms à volonté, pourvu que la disposition
ne soit pas touchée.

Utilise l'adresse cjoint.com et retourne-nous ici l'adresse que tu
obtiendras.




Je suis en congés. J'ai un bout que j'ai trouvé dans un mail tiré d'un des fichiers.
C'est un vieux logiciel fait sur mesure par quelqu'un de la boite qui n'est plus là et pas le source du programme.
La base est un format binaire mais pas standard. A l'origine, ça imprimait sur un fil de l'eau mais l'imprimante étant HS, on
imprime dans des fichiers qui changent quotidiennement. La base est en plusieurs morceau liés par une clé primaire (numero de
contrat)

D'un fichier à l'autre, la taille change, le nombre de blocs changent

Il est pas prévu de changer le logiciel pour le moment, mais l'important est de pouvoir récuperer les info pour les mettre dans
une autre base afin de pouvoir les exploiter correctement et aussi être une sauvegarde le temps que la nouvelle version soit en
place.


Cet extrait est sorti du contexte et il manque des blocs, mais ça donne une idée du "machin"(c)
Le but étant de trouver une méthode pour structurer les infos, donc cet extrait est suffisant pour se faire une idée du problème.

J'ai pensé utiliser awk/sed/grep/cut pour la conversion, mais gerer une base intermédiaire en csv/xml avec ça, ça va pas être de
la tarte. C'est pour ça que je cherche des infos sur les différentes solutions et s'il existe un logiciel capable d'apprendre plus
facilement que de faire des scripts. Si ça n'existe pas, la solution des script est bien sur à envisager en passant probablement
par l'étape du découpage par bloc identique et de traiter chacun suivant un schéma. Et c'est sur ça que j'ai besoin de vos
lumières. Par exemple, est ce que Excel/access sont capable de découper les blocs lors de l'importation suivant un masque pour
ajouter les valeurs dans une table ou feuille CSV ou un fichier xml ?

Une fois l'import fait, le reste va être simple.


=================================CUT========================================================
Date(AAAA/MM/JJ): 2013/02/08

ENTREE ACT (France) - Réception
----------------------------------

Description : TeeShirt

Unité de condit. 10
Quantité 80
Numéro du contrat A23443
Seuil Haut 90.0000
Seuil Bas 10.0000

ENTREE ACT (Autriche) - Réception
------------------------------------

Description : Pantalon

Unité de condit. 5
Quantité 80
Numéro du contrat A23568
Seuil Haut 50.0000
Seuil Bas 15.0000

SORTIE PAS (ALLEMAGNE) - Expédition
-------------------------------------

Description : TeeShirt

Unité de condit. 5
Quantité 3
Numéro du contrat P53647

SORTIE PAT (ALLEMAGNE) - Expédition
-------------------------------------

Description : TeeShirt

Type de sortie 1 Quantité stock 65.00
Origine --> France Code TVA 2

SORTIE PAR (ALLEMAGNE) - Expédition
-------------------------------------

Description : TeeShirt

Type de paiement 1 Tarif unitaire HT 100.00
Franco de port --> oui TVA 19.6
Tarif TTC --> 119.60 Code client 34784

SORTIE PAS (ESPAGNE) - Expédition
-----------------------------------

Description : Pantalon

Unité de condit. 5
Quantité 3
Numéro du contrat P53511

SORTIE PAT (ESPAGNE) - Expédition
-----------------------------------

Description : Pantalon

Type de sortie 2 Quantité stock 35.00
Origine --> France Code TVA 2

SORTIE PAR (ESPAGNE) - Expédition
-----------------------------------

Description : Pantalon

Type de paiement 1 Tarif unitaire HT 160.00
Franco de port --> oui TVA 19.6
Tarif TTC --> 189.76 Code client 20323

SORTIE PAS (ESPAGNE) - Expédition
-----------------------------------

Description : TeeShirt

Unité de condit. 5
Quantité 4
Numéro du contrat P53511

SORTIE PAT (ESPAGNE) - Expédition
-----------------------------------

Description : TeeShirt

Type de sortie 2 Quantité stock 45.00
Origine --> France Code TVA 2

SORTIE PAR (ESPAGNE) - Expédition
-----------------------------------

Description : TeeShirt

Type de paiement 1 Tarif unitaire HT 100.00
Franco de port --> oui TVA 19.6
Tarif TTC --> 119.60 Code client 20323

Taux de TVA - Données
-----------------------

TVA 1 : 5.50%
TVA 2 : 19.60%
TVA 3 : 33.00%
TVA 4 : 0%
TVA 5 : 0%
TVA 6 : 0%

=================================CUT======================================================== --
Vous voulez un conseil ?
Ne faites jamais confiance à ceux qui vous donnent des conseils.
MichD
Le #25753612
Ne perds pas ton temps et le mien avec des explications
qui ne sont pas pertinentes.

Pour voir ce qui est possible de faire, j'ai besoin :
A ) Un fichier .Txt ou .CSV typique contenant les données à traiter
B ) Comment organiser ces données dans une feuille de calcul?

Pour ce faire, tu utilises l'adresse Cjoint.com pour publier ton fichier.
Tu obtiendras une adresse et tu la publies ici.

MichD
---------------------------------------------------------------
Publicité
Poster une réponse
Anonyme