Ho una grande quantità di file CSV che devono essere ripuliti. Tutti questi file hanno lo stesso formato che rende il compito un po' facile. Il mio file csv iniziale ha il seguente formato:
| Articolo Ricetta: (001) 48pt | | | | | |
| Ricetta della fase: 48pt | | | | | |
| ID lotto: Prod1 | | | | | |
| ID articolo: 42 | | | | | |
| Data/ora: 1/5/2017 16:28:56 | | | | | |
| | | | | | |
| Punto | Misurazione | Guadagno | Va bene | X | Y |
| 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 |
Le prime 6 righe devono essere ripulite. Sto pensando di inserire le prime 6 righe in una nuova tabella e di trasporle. Dopo la trasposizione, unisci il tavolo all'altra sezione. La mia tabella JMP ideale è la seguente:
| Ricetta dell'oggetto: | Ricetta della fase: | ID lotto: | Numero identificativo dell'oggetto: | Appuntamento: | Punto | Misurazione | Guadagno | Va bene | X | Y |
| (001) 48pt | 48pt | Prod1 | 42 | 01/05/2017 16:28:56 | 1 | 12.3 | 99.7 | 0,99 | 1 | 1 |
| (001) 48pt | 48pt | Prod1 | 42 | 01/05/2017 16:28:56 | 2 | 12.2 | 99.9 | 0,98 | 2 | 2 |
| (001) 48pt | 48pt | Prod1 | 42 | 01/05/2017 16:28:56 | 3 | 12.1 | 99.8 | 0,98 | 3 | 3 |
| | | | | | | | | | | |
Sto provando uno script jsl ma al momento è al di là delle mie capacità. Qualcuno può darmi un'idea di come ottenere questo risultato?
Grazie
Ciao Craig,
Funziona come pubblicizzato.
Grazie molte
Bella descrizione del problema e penso che il tuo piano funzionerà. È possibile utilizzare la procedura guidata di anteprima dell'importazione del testo per eseguire parte del lavoro. Limitando il numero di righe a 5, puoi ottenere l'intestazione e scegliendo campi a larghezza fissa puoi ottenere due colonne (o forse spazi, plurale, funzionerebbero ancora meglio per il delimitatore). (Se il mio taglia e incolla dei tuoi dati ha incasinato schede e spazi, potresti dover modificare un po' i delimitatori di colonna). Lo script sorgente è nella tabella e puoi prenderne una copia per il tuo script più grande:
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 linesPrime cinque righe
Quindi, importa di nuovo, saltando le 5 righe e prendi anche quello 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 fileDati in fondo al file
Tutto il JSL sopra è stato scritto dalla procedura guidata di anteprima dell'importazione del testo e archiviato nello script di origine allegato alla tabella.
The Subset section has part of the answerThe Subset section has part of the answerLa sezione Sottoinsieme contiene parte della risposta