Wählen Sie Spalten aus und löschen Sie sie, die eine bestimmte Zeichenfolge enthaltenHallo jsl Leute,
Kann jemand kommentieren, was mit meiner Codierung unten nicht stimmt? Ich versuche nach Spalten zu suchen, die eine Zeichenfolge namens "Dummy" enthalten, und versuche, sie zu löschen, aber es funktioniert nicht. Bitte helfen Sie.
Namen Standard hier (1);
dt = Neue Tabelle ("Beispiel",
Zeilen hinzufügen (3),
Neue Spalte ("A_Dummy", Zeichen, "Nominal", Set Values ({"xx", "yy", "zz"})),
Neue Spalte ("B", Zeichen, "Nominal", eingestellte Werte ({"a", "b", "c"})),
Neue Spalte ("C_Dummy", Zeichen, "Nominal", Set Values ({"l", "m", "n"}));
cols = dt << Spaltennamen abrufen (Zeichenfolge);
If (Enthält (cols, "Dummy"),
dt << Spalten auswählen ();
dt << Spalten löschen ());
SkriptingBetreff: Wählen Sie Spalten aus und löschen Sie sie, die eine bestimmte Zeichenfolge enthaltenNur um es hinzuzufügen ... Der Grund, warum ich dies frage, ist, dass ich wissen möchte, ob es eine Reihe von Spaltennamen gibt, wie zum Beispiel 50 Spalten, die "_Dummy" enthalten. Wie kann ich sie schnell löschen, ohne die Namen zu nennen? Bestimmte Spaltennamen mithilfe des bekannten Befehls zum Löschen von Spalten wie "dt << Spalte löschen (Spalte (" A_Dummy "))". Wenn ich diesen Befehl verwenden muss, muss ich 50-mal alle eindeutigen Spaltennamen eingeben.
Betreff: Wählen Sie Spalten aus und löschen Sie sie, die eine bestimmte Zeichenfolge enthaltenEnthält nur den ersten Index einer Übereinstimmung. Sie können entweder die Liste durchlaufen, um eine Liste mit zu löschenden Spalten zu erstellen, oder während der Schleife löschen:
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "A_Dummy", Character, "Nominal", Set Values( {"xx", "yy", "zz"} ) ),
New Column( "B", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "C_Dummy", Character, "Nominal", Set Values( {"l", "m", "n"} ) ));<BR />
cols = dt << get column names( string );
for(i = 1, i <= N Items(cols), i++,
If(Contains(cols[i],"Dummy"),
dt << Delete Columns(cols[i])
);
);Betreff: Wählen Sie Spalten aus und löschen Sie sie, die eine bestimmte Zeichenfolge enthaltenDies ist eine modifizierte Version, die möglicherweise für Sie funktioniert und leicht zu verstehen ist.
Sie benötigen eine Schleife über den Spalten, um zu sehen, wo sich die Zeichenfolge befindet.
und Ihre Verwendung von Auswählen und Löschen war nicht richtig.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "A_Dummy", Character, "Nominal", Set Values( {"xx", "yy", "zz"} ) ),
New Column( "B", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "C_Dummy", Character, "Nominal", Set Values( {"l", "m", "n"} ) )
);
cols = dt << get column names( string );
delete_lst = {};
For( i = 1, i <= N Items( cols ), i++,
If( Contains( cols[i], "Dummy" ),
Insert Into( delete_lst, cols[i] )
)
);
dt << Delete Columns( delete_lst );