Zeitwerte in xls oder xlsx, csv und JMPHallo zusammen, ich habe ein seltsames Problem mit den Zeitwerten aus meinem Excel. Ich habe einige Daten (Beispiel ist hier als Excel-Datei angehängt), die Zeitspalte interessiert mich und ich würde die Datums- und Zeitspalte zusammenfügen, um eine Datums-Zeit-Spalte zu erstellen. Um die Daten zu analysieren, verwende ich JMP, also importiere ich die Excel-Datei.
Ich bin jedoch auf eine Reihe von Merkwürdigkeiten gestoßen:
1. Wenn ich mehrere Dateien importiere (von Kunden, um ihre Daten für sie zu analysieren), sind die Zeitwerte der Zeitwerte (in Sekunden) negativ und es beginnt ab 1899, als ich das Format in mm:dd:yyyy hh:mm . geändert habe :ss. Wenn ich die Datei wieder als CSV speichere und dann wieder mit JMP öffne, sind die Zeitwerte korrekt (wie in der Original-Excel-Datei aufgeführt).
2. Wenn ich das Format der Excel-Dateien in CSV ändere, sind die Zeitwerte nach dem Import in JMP korrekt. Für die Dateien, die xls oder xlsx sind, muss ich sie in CSV ändern. Warum ist das so?
Im Folgenden finden Sie Notizen zu meinen Gedanken darüber, was vor sich geht und wie ich zu den beiden Lösungen gekommen bin, die zu einem gewünschten Datum-Uhrzeit-Format führen.
Wie Sie in der Spalte „Schreckliche Formel“ sehen werden, musste ich ein paar Dinge zur Umgehung tun:
- Wandeln Sie Datum und Uhrzeit in Zeichenketten um und verketten Sie dann beide Spalten. Kopieren Sie die Eigenschaften, fügen Sie sie in eine neue Spalte ein und ändern Sie dann das Format wieder in numerisch. Aber das funktioniert nicht immer!
- Die Funktion Second() extrahierte negative Werte… und nur Second(), was interessant war.die formel ist unten
- Informationen (
Char( Format( :Datum, "mm/tt/jjjj" ) ) || " " ||
Char( Stunde( :Zeit, 24 ) ) || ":" || Char( Minute( :Zeit ) ) ||
":" || Zeichen (60 + Sekunde (:Zeit)),
"mm/tt/jjjj HH:mm:ss"
)
Beide Lösungen erscheinen jedoch etwas mühsam (außer die in JMP importierten Excels als CSV zu speichern und dann erneut mit JMP zu öffnen). Gibt es eine andere Möglichkeit, die Zeitwerte schneller zu korrigieren? Automatisiert? beim Importieren der Excel-Dateien in JMP?
AnalytikDatentabelleSkriptingBetreff: Zeitwerte in xls oder xlsx, csv und JMPKorrektur:
Im Folgenden finden Sie Notizen zu meinen Gedanken darüber, was vor sich geht und wie ich zu den beiden Lösungen gekommen bin, die zu einem gewünschten Datum-Uhrzeit-Format führen.
1. Wandeln Sie Datum und Uhrzeit in Zeichenketten um und verketten Sie dann beide Spalten. Kopieren Sie die Eigenschaften, fügen Sie sie in eine neue Spalte ein und ändern Sie dann das Format wieder in numerisch. Aber das funktioniert nicht immer!
2. Die Funktion Second() extrahierte negative Werte… und nur Second(), was interessant war.die formel ist unten
Informationen (
Char( Format( :Datum, "mm/tt/jjjj" ) ) || " " ||
Char( Stunde( :Zeit, 24 ) ) || ":" || Char( Minute( :Zeit ) ) ||
":" || Zeichen (60 + Sekunde (:Zeit)),
"mm/tt/jjjj HH:mm:ss"
)
Betreff: Zeitwerte in xls oder xlsx, csv und JMPSind Sie sicher, dass die angehängte Excel-Datei die richtige ist?Die Arbeitsmappe enthält Dateien mit Informationen zu internen Besprechungen.
Betreff: Zeitwerte in xls oder xlsx, csv und JMPBitte ignorieren Sie die im Originalbeitrag angehängte und verwenden Sie diese als Beispiel. Danke, dass du das kapierst.
Betreff: Zeitwerte in xls oder xlsx, csv und JMPIch habe die Excel-Datei direkt in JMP geöffnet, ich habe den Assistenten verwendet, um anzugeben, dass sich die Datenüberschrift in Zeile 6 befindet und die Daten in Zeile 7 beginnen.Es generierte die folgende JSL
Open(
"$DOCUMENTS/Discussion Group/Time_issue_7Sep (2).xlsx",
Worksheets( "W-A20122_Halexistar_20210820-12" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 6 ),
Data Starts on Row( 7 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" ),
Column Numeric Format(
Index( 2 ),
Column Name( Variable 1 ),
Format( "Best", 9 )
),
Column Numeric Format(
Index( 3 ),
Column Name( Variable 2 ),
Format( "Best", 9 )
)
)
)
Sowohl die Datums- als auch die Uhrzeitfelder werden als korrekte JMP-Werte für Datum und Uhrzeit eingelesen.Dann musste ich nur noch rennen
Names Default To Here( 1 );
dt = Current Data Table();
For Each Row( :Date = :Date + :time );
Mehrere Dateien importieren scheint nicht in der Lage zu sein, die Zeilen-Offsets zu verarbeiten, um die Header von Zeile 6 und Daten ab Zeile 7 richtig einzulesen;
Ich schlage vor, dass Sie Ihre eigene JSL-Schleife erstellen, um jede der Dateien mit dem obigen Eingabecode einzulesen.
Betreff: Zeitwerte in xls oder xlsx, csv und JMPDas interessiert sehr. Ich habe mit dem Assistenten geöffnet, aber das Skript der Quelle unterscheidet sich von Ihrem.
Open(
"C:\Users\liew-6\OneDrive - Mettler Toledo LLC\Desktop\JMP\Time_issue_7Sep.xlsx",
Worksheets( "W-A20122_Halexistar_20210820-12" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 6 ),
Data Starts on Row( 7 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
)
Und wenn ich das Format meiner Zeit auf 'best' geändert habe, werden negative Werte angezeigt. Ich habe es hier angehängt.