Wie werden die einzelnen Felder ausgerichtet?Ich habe eine TXT-Datei. Ich möchte sie zur Analyse in JMP importieren. Einige Spalten sind jedoch nicht ausgerichtet. Wie richte ich sie aus?
Als Trennzeichen sollten Leerzeichen, Leerzeichen und Komma verwendet werden. Aber "," behandelt Leerzeichen als Text. Wie behebe ich dieses Problem?

dtTlog = Open(
D,
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Spaces, Space, CSV( 1 ), Comma ),
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( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
Automatisierung und SkriptingWindowsBetreff: Wie werden die einzelnen Felder ausgerichtet?Das Problem, das Sie haben, ist, dass Sie Leerzeichen und Kommas als Trennzeichen verwenden und in Spalte f Zeilen haben, die sowohl ein Komma als auch ein Leerzeichen als Trennzeichen nebeneinander haben. Ein Beispiel ist
4, 7
In der Spalte C1c wird die 4 eingelesen, dann wird das , als Trennzeichen gefolgt von einem Leerzeichen als zweites Trennzeichen erkannt. Da nach dem ersten und dem zweiten Trennzeichen kein Wert erkannt wurde, wird der Spalte f ein fehlender Wert zugewiesen, und die 7 wird dann zum Wert für die Spalte C2c.
Unten finden Sie ein Skript, das alle Daten einliest, alle Kommas entfernt, sie in einem temporären Bereich speichert und sie dann mithilfe Ihres Eingabestreams wieder einliest.
names default to here(1);
d= "<YOUR path="" and="" file="" name="">";
dt = Open(
D ,
columns( New Column( "c000001", Character, "Nominal" ) ),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( CSV( 0 ) ),
Treat Leading Zeros as Character( 1 ),
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( 0 ),
Column Names Start( 0 ),
First Named Column( 0 ),
Data Starts( 1 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
for each row(:c000001 = Trim(substitute(:c000001,","," ")));
dt << save ("$TEMP\interium file.txt");
dtTlog = Open(
"$TEMP\interium file.txt",
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Spaces, Space, CSV( 1 ), Comma ),
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( 2 ),
Data Starts( 3 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
); </YOUR>

Betreff: Wie werden die einzelnen Felder ausgerichtet?
Okay, ich verstehe. Ich verstehe Ihren Vorschlag. Aber er gibt mir mehr Alarmbereitschaft.
Betreff: Wie werden die einzelnen Felder ausgerichtet? For Each( {col},
dt << Get Column Reference( dt << Get Column Names( Character ) ),
If( !Is Empty( col << Get Formula ),
Continue()
);
For Each Row( dt, col[] = Substitute( col[], ",", " ", <<IGNORECASE></IGNORECASE>I replace that line with these code. It's working now. Thanks.
Betreff: Wie werden die einzelnen Felder ausgerichtet?Ich hatte einen kleinen Fehler in meinem Originalcode. Ich bin zurückgegangen und habe ihn korrigiert. Bitte kopieren Sie ihn und überprüfen Sie, ob er funktioniert. Die Korrektur, die Sie vorgenommen haben, war gut, der Originalcode liest jedoch nicht jede Spalte einzeln ein. Er liest alle Daten in jeder Zeile als eine Spalte ein und behandelt sie dann aus der Perspektive einer Datentabelle mit nur einer Spalte.
Betreff: Wie werden die einzelnen Felder ausgerichtet?Alternativ kann man auch Textdatei laden verwenden, um die Datei als Text zu öffnen, die Kommas über Ersetzen zu entfernen und den Text schließlich in eine Datentabelle zu öffnen .
Originalbeiträge:
.csv Importfehler / @Craige_Hales
Dateiimport: NAN angeben? / @jthi
txtfile = Load Text File("$DOWNLOADS/log - question2.txt");
substituteinto(txtfile,","," ");
Open(
Char to Blob(txtfile),
Import Settings(
End Of Field( Spaces, Space ),
)
);
Betreff: Wie werden die einzelnen Felder ausgerichtet?Text in Spalten: Fehlende Daten richtig behandeln
"korrekt"?
Für Ihre Aufgabe funktioniert „Text in Spalten“ wie am Schnürchen:
dt = Open(
"$DOWNLOADS/log - question2.txt",
Import Settings(
End Of Field( Tab ),
Labels( 0 )
)
);
// split columns via Text to columns
dt << Text to Columns( columns( :c000001 ), Delimiters( " ", "," ));
dt << Delete Columns( :c000001);
// Move column names up
dt << Move up;