Suppression des colonnes datetime de la liste des colonnesJ'ai une liste contenant des colonnes que l'utilisateur a sélectionnées.
Ceux-ci sont déjà numériques, mais je veux trouver ceux qui sont au format heure ou date car ils nécessitent un traitement spécial.
Comment puis-je les filtrer en utilisant JSL?
ScriptingRe: Suppression des colonnes datetime de la liste des colonnesVoici un exemple d'une façon de procéder. Le script ouvre une table de données, recherche tous les noms de colonnes numériques et continus, puis supprime ceux dans lesquels il trouve qu'il a un format qui est l'un des formats Date et DateHeure répertoriés.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Aircraft Incidents.jmp" );
colList = dt << get column names( string, numeric, continuous );
// Create a list of the date and datetime formats to check for
dateList = {"m/d/y", "mmddyyyy", "m/d/y h:m", "m/d/y h:m"};
show("All Numeric List", colList );
For( i = N Items( colList ), i >= 1, i--,
If(
Contains(
dateList,
Word( 2, Char( Column( dt, colList[i] ) << get format ), "(,\!"" )
),
show(Word( 2, Char( Column( dt, colList ) << get format ), "(,\!"" ));
Remove From( colList, i, 1 )
)
);
show("\!nList with Date columns removed", colList );Re: Suppression des colonnes datetime de la liste des colonnesJe peux également changer la date en entier (somme des secondes depuis la date de début).
Serait-il préférable de changer le format de toutes les colonnes dans une table de données qui a déjà des valeurs numériques étant donné que je peux avoir 100 000 lignes et des centaines de colonnes?
Re: Suppression des colonnes datetime de la liste des colonnesEn effet, sans contexte, cela n'a pas beaucoup de sens.
PythonSend () fonctionne en enregistrant un csv temporaire et en le chargeant dans pandas. Lorsqu'il s'agit de dates, l'implémentation JMP actuelle n'a pas le date_parser actif et l'objet est chargé sous forme de texte au lieu d'un nombre.
Python Send () ne reconnaît pas le format datetime (envoyé sous forme de chaîne)
Comme ma colonne de date se trouve dans d'autres X qui sont continus, j'ai besoin d'un moyen de filtrer cette colonne ou de la transformer en nombres entiers.