J'ai une grande quantité de fichiers csv qui doivent être nettoyés. Tous ces fichiers ont le même format, ce qui facilite un peu la tâche. Mon fichier csv initial a le format suivant :
| Recette d'objet : (001) 48pt | | | | | |
| Recette d'étape : 48pt | | | | | |
| ID de lot : Prod1 | | | | | |
| ID d'article : 42 | | | | | |
| Date/Heure : 01/05/2017 16:28:56 | | | | | |
| | | | | | |
| Indiquer | La mesure | Gain | GFit | X | Oui |
| 1 | 12.3 | 99,7 | 0,99 | 1 | 1 |
| 2 | 12.2 | 99,9 | 0,98 | 2 | 2 |
| 3 | 12.1 | 99,8 | 0,98 | 3 | 3 |
Les 6 premières rangées doivent être nettoyées. Je pense intégrer les 6 premières lignes dans un nouveau tableau et les transposer. Après la traspose, rejoignez le tableau avec l'autre section. Ma table JMP idéale est la suivante :
| Recette d'objet : | Recette d'étape : | ID de lot : | ID de l'article: | Date/Heure : | Indiquer | La mesure | Gain | GFit | X | Oui |
| (001) 48 points | 48 points | Prod1 | 42 | 01/05/2017 16:28:56 | 1 | 12.3 | 99,7 | 0,99 | 1 | 1 |
| (001) 48 points | 48 points | Prod1 | 42 | 01/05/2017 16:28:56 | 2 | 12.2 | 99,9 | 0,98 | 2 | 2 |
| (001) 48 points | 48 points | Prod1 | 42 | 01/05/2017 16:28:56 | 3 | 12.1 | 99,8 | 0,98 | 3 | 3 |
| | | | | | | | | | | |
J'essaie un script jsl mais c'est au-delà de mes capacités pour le moment. Quelqu'un peut-il me donner une idée de la façon d'y parvenir?
Merci
Salut Craige,
Cela fonctionne comme annoncé.
Merci beaucoup
Belle description du problème, et je pense que votre plan fonctionnera. Vous pouvez utiliser l'assistant d'aperçu d'importation de texte pour effectuer une partie du travail. En limitant le nombre de lignes à 5, vous pouvez obtenir l'en-tête, et en choisissant des champs à largeur fixe, vous pouvez obtenir deux colonnes (ou peut-être que des espaces, au pluriel, fonctionneraient encore mieux pour le délimiteur). (Si mon copier-coller de vos données a gâché les onglets et les espaces, vous devrez peut-être modifier un peu les délimiteurs de colonne). Le script source est dans le tableau et vous pouvez en récupérer une copie pour votre plus gros script :
Open(
"C:\Users\v1\Desktop\x.txt",
columns(
Column( "c000001", Character, "Nominal" ),
Column( "c000002", Character, "Nominal" ),
Omitted Column( . )
),
Import Settings(
Fixed Column Widths( 13, 28, 98 ),
Strip Quotes( 0 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 0 ),
Column Names Start( 1 ),
Data Starts( 1 ),
Lines To Read( 5 ),
Year Rule( "20xx" )
)
)
First five linesFirst five linesCinq premières lignes
Ensuite, importez à nouveau, en sautant les 5 lignes, et récupérez également ce script :
Open(
"C:\Users\v1\Desktop\x.txt",
columns(
Column( "Point", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "Measurement", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "Gain", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "GFit", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "X", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "Y", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, CSV( 0 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 7 ),
Data Starts( 8 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
Data at bottom of fileData at bottom of fileDonnées en bas du fichier
Tout le JSL ci-dessus a été écrit par l'assistant d'aperçu d'importation de texte et stocké dans le script source attaché à la table.
The Subset section has part of the answerThe Subset section has part of the answerLa section Sous-ensemble contient une partie de la réponse