Ich importiere eine Textdatei, die mehr als nur Kommas zum Trennen von Werten verwendet. Hier ist die Grundfunktion, die ich verwende.
open("$desktop/jsonfiles/test.json","text")
Wie ändere ich die Funktion, um andere Zeichen wie „[“ zu identifizieren, die zum Identifizieren einer neuen Datenspalte verwendet werden sollen?
Wenn Sie JSON importieren, versuchen Sie es außerdem mit dem JSON-Assistenten (seit JMP 14, glaube ich). Die ursprüngliche Frage war eine Problemumgehung für einen speziellen JSON-Typ, der für die meisten JSON-Dateien nicht funktioniert.
Hier sind einige zusätzliche Schritte zum Importieren von TXT-Dateien in JMP (in Windows), die über das hinausgehen, was bereits erläutert und kommuniziert wurde @Craige_Hales
1. Öffnen Sie JMP.
2. Wählen Sie im Windows Explorer „Alle Dateien (*.*)“ aus und öffnen Sie sie dann als „Daten mit Vorschau“. In diesem Beispiel verwende ich eine TXT-Dateiversion des Big Class-Datensatzes, die im JMP-Beispieldatenverzeichnis verfügbar ist.

3. Geben Sie Trennzeichen, zu überspringende Zeilen usw. an.

4. Klicken Sie auf Weiter. Klicken Sie auf die Symbole, um den Datentyp zu ändern. Klicken Sie auf die roten Dropdown-Pfeile, um das Format zu ändern.

5. Klicken Sie auf die Schaltfläche „Importieren“.JMP speichert ein Quellskript in der Datentabelle (die in der oberen linken Ecke der Tabelle neben der grünen Wiedergabeschaltfläche gespeichert ist):
Wenn Sie mit der rechten Maustaste klicken, um das Skript zu bearbeiten, sieht es etwa so aus:
Open(
"$DOCUMENTS/Big Class.txt",
columns(
New Column( "name", Character, "Nominal" ),
New Column( "Grade No", Character, "Nominal" ),
New Column( "weight", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "age", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "sex", Character, "Nominal" ),
New Column( "height", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "median split on weight",
Numeric,
"Continuous",
Format( "Best", 12 )
),
New Column( "sex indicator", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Grade", Character, "Nominal" )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, 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( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
6. Kopieren Sie dieses Skript und fügen Sie es in ein neues Skriptfenster ein.
7. Als nächstes Parametrisieren Sie die Dateinamenreferenz und verwenden Sie diesen Code, um ähnlich formatierte Dateien problemlos zu öffnen. Alternativ können Sie JMP 16 verwenden Erweitertes Protokoll um den für den Importvorgang verwendeten Code auszuwählen und ihn von dort aus zu ändern.

Das Quellskript liefert Ihnen bei einem erfolgreichen Import mit dem Textimport-Assistenten, was Sie brauchen. Sie können der Liste der Trennzeichen wie folgt ein Zeichen hinzufügen:
Open(
"C:\...23a569_1.json",
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, Other( "[" ), 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( 0 ),
Column Names Start( 1 ),
Data Starts( 1 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
Dies funktioniert im Allgemeinen nicht für JSON-Dateien, aber möglicherweise für Ihre, da sich die Zeilen in den Daten in einer einzelnen Zeile JSON-Text befinden.