Entstapeln einer gestapelten Excel-Zelle oder Parsen von Freitext zur Generierung mehrerer ZeilenWir alle kennen das Problem: Eine Excel-Tabelle, die zwar schön formatiert ist, aber deren Analysierbarkeit völlig außer Acht gelassen wird.
In der Freitextzelle sieht es folgendermaßen aus:
m/d: Text [alt+enter]
m/d: Text [alt+enter]
m/d: Text [alt+enter]
m/d: Text [alt+enter]
...
m/d: Text [alt+enter]
Beim Export der Daten nach JMP wird die Zelle wie folgt zusammengefasst: m/d: text m/d: text m/d: text ... m/d: text.
Ich möchte diese lange Zeichenkette mit n Elementen in separate Zeilen für jedes Element aufteilen, nicht in separate Spalten. n ist variabel. Dadurch wird eine neue Datentabelle erstellt, die die anderen Spalten kopiert und das aufgetrennte Element hinzufügt. Anstelle von „Text in Spalten“ wird hier „Text in mehrere Zeilen“ verwendet.
Zum Glück wird #/# konsequent verwendet, sodass ich diese zählen und die Schleife n Mal durchlaufen konnte.
Hat jemand da draußen schon etwas Ähnliches gemacht?
MassenanpassungBetreff: Entstapeln einer gestapelten Excel-Zelle oder Analysieren von Freiformtext, um mehrere Zeilen zu generierenIch mache so etwas oft; du musst dich nur durchschlagen. Hier ist ein Beispiel, in dem Spalte 1 mehrere Werte hat und Spalte 2 statisch ist.
dt = New Table( "Test", Add Rows( 3 ), Set Cell Height( 83 ),
New Column( "Column 1", Character, "Nominal",
Set Values(
{"5/3: ABCDE
5/4: DEF
5/5: GHI",
"5/6: xyz
5/7: foo
5/8: bar
5/9: Hello
5/10: World",
"4/16: The
4/17: Entire
4/18: Scheme
4/19: Of
4/20: Things
4/21: Is broken"} ),
Set Display Width( 156 )
),
New Column( "Column 2", Character, "Nominal", Set Values( {"A", "B", "C"} ) )
);
dtnew = new table("Text_to_Rows",
new column("Column 1", Character, "Nominal"),
new column("Column 2", Character, "Nominal"),
);
delim = "
";
m = 0;
for (i = 1, i <= nrows(dt), i++,
c1_words = words(dt:column 1[i], delim);
one_c2 = dt:column 2[i];
for (k = 1, k <= nitems(c1_words), k++,
dtnew << add rows(1);
m++;
dtnew:Column 1[m] = c1_words[k];
dtnew:Column 2[m] = one_c2;
);
);
Betreff: Entstapeln einer gestapelten Excel-Zelle oder Analysieren von Freiformtext, um mehrere Zeilen zu generierenPeter:
Vielen Dank! Das hat funktioniert. Ich schulde dir ein Getränk deiner Wahl.
Ich arbeite an den Erstellern der Daten, um die Daten im flachen Format einzugeben ...
Betreff: Entstapeln einer gestapelten Excel-Zelle oder Analysieren von Freiformtext, um mehrere Zeilen zu generierenHa ha hört sich gut an. Wir hoffen, Sie auf der Discovery 2020 zu sehen.