Importation d'un fichier avec plusieurs "autres" délimiteursJMP Pro 13. J'essaie d'importer un fichier .dat. Chaque colonne est numérique. Chaque ligne commence par un ( et se termine par un ) donc je n'arrive pas à comprendre comment supprimer ces deux symboles à l'importation. Le problème est que je n'arrive pas à me débarrasser de cette fin ) afin que cette colonne soit importée en tant que caractère. Même si je configure le script pour remplacer le ) par rien, la colonne est toujours un caractère et je n'arrive pas à comprendre comment le forcer à être numérique.
For( i = 1, i<= n rows(dtSFileMasterModule), i++,
dtSPMFile = Open( PMxPath || PMx[i] ||"\file.dat", Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Space, 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( 1 ),
Column Names Start( 3 ),
Data Starts( 4 ),
Lines To Read( "All" ),
Year Rule( "20xx" )));
dtSPMxFileMaster = dtSPMxFileMaster << concatenate(dtSPMFile, append to first table(1));
Close( dtSPMFile, "no save" );
);Re : Importer un fichier avec plusieurs "autres" délimiteursOups, j'ai oublié de soustraire "1" de la longueur de la chaîne à sous-ensemble. Le code devrait être :
Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i] = Substr(
Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i],
1,
Contains( Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i], ")" ) - 1
)
Re : Importer un fichier avec plusieurs "autres" délimiteursCela semble très très proche. Le seul problème que j'ai est que toute la cellule est supprimée, au lieu de la parenthèse fermante. Par exemple, cette cellule contient un nombre comme 26.1234) et je veux juste supprimer la parenthèse fermante. Le script que vous fournissez supprime la cellule, mais je ne pense pas que vous vouliez le faire, n'est-ce pas ?
Je peux remplacer une chaîne dans votre script par un "7" pour la couper après le 7e chiffre, mais cela rend le script peu flexible dans le cas où les données changent en une autre longueur de chaîne. Cela fonctionnera très probablement, mais si vous avez des suggestions, je suis pour! Merci!!!
For( i = 1, i <= N Rows( dtSPMxFileMaster ), i++,
Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i] = Substr(Column(
dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i],
1,
7 )
);
// Change the last column to numeric and continuous
Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) ) << data type( numeric ) << modeling type( continuous );
Re : Importer un fichier avec plusieurs "autres" délimiteursJe crois que si vous ajoutez ceci après que toutes les tables de données individuelles ont été concaténées, cela corrigera le problème
// Loop through all rows and get rid of the ")" on the last column
For( i = 1, I <= N Rows( dtSPMxFileMaster ), i++,
Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i] = Substr(
Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i],
1,
Contains( Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) )[i], ")" )
)
);
// Change the last column to numeric and continuous
Column( dtSPMxFileMaster, N Cols( dtSPMxFileMaster ) ) << data type( numeric ) << modeling type( continuous );