Importer plusieurs fichiersChers tous,
mon problème a probablement déjà été évoqué car il est assez basique mais je n'ai pas trouvé de solution exacte à mon problème.
Je souhaite importer plusieurs fichiers avec la même structure, les manipuler de la même manière, puis en coller un sous-ensemble. J'ai effectué la partie importation et manipulation des données de la manière générique suivante :
dt = Open(
"PATH/File1.xlsx",
Worksheets( "Table1" ),
XXX
);
// New operation e.g. New column: Column 2
dt << New Column( "Column 2",
Numeric,
"Continuous",
Format( "Best", 12 )
);<BR /><BR />File1 = dt;<BR />File1 << Set Name("File1");<BR />Afin d'importer plus de fichiers, je copierais le même code dans le script et échangerais uniquement "Fichier1" par "Fichier2", "Fichier3" et ainsi de suite. Cela fonctionne mais la longueur du script devient assez importante car j'ai beaucoup de fichiers à importer.
J'ai également essayé l'option FMI. Lorsque j'ai choisi "Ouvrir plusieurs tables" (je ne veux pas qu'elles soient empilées), les tables de données sont déjà liées à des noms spécifiques et je n'ai pas pu les manipuler avec le code générique décrit ci-dessus.
Des idées pour des solutions plus élégantes ?
Merci beaucoup!
Accès aux donnéesMélange et nettoyage des donnéesRe : Importer plusieurs fichiersPeut-être un problème avec un clavier international utilisant les accolades pour créer des caractères spécifiques aux paramètres régionaux ?
https://stackoverflow.com/questions/2388805/brackets-and-international-keyboards
https://superuser.com/questions/1486481/when-i-press-the-curly-braces-key-on-the-keyboard-i-get-a-backtick-instead
https://www.reddit.com/r/Anki/comments/j1c5o2/curly_braces_dont_work_with_norwegian_keyboard/
https://cs50.stackexchange.com/questions/9603/curly-brackets-on-my-keyboard
https://discussions.apple.com/thread/7418604
Re : Importer plusieurs fichiersLa seule chose qui me vient rapidement à l'esprit, c'est qu'il vous manque {} autour des arguments de la fonction
Names Default To Here(1);
open_and_modify = function(file_path, {Default Local},
dt = Open(file_path, Worksheets("Table1"), XXX);
// New operation e.g. New column: Column 2
dt << New Column("Column 2", Numeric, "Continuous", Format("Best", 12));
dt << Set Name("File1");
return(dt);
);
quand ça devrait être
Names Default To Here(1);
open_and_modify = function({file_path}, {Default Local},
dt = Open(file_path, Worksheets("Table1"), XXX);
// New operation e.g. New column: Column 2
dt << New Column("Column 2", Numeric, "Continuous", Format("Best", 12));
dt << Set Name("File1");
return(dt);
);
Re : Importer plusieurs fichiersMerci pour la réponse rapide. J'ai essayé d'implémenter le code mais j'obtiens toujours le message d'erreur :
"l'argument doit être listé lors de l'accès ou de l'évaluation de 'Fonction'" faisant référence à la ligne 3
open_and_modify = function({file_path}, {Default Local},Pouvez-vous me dire quelle erreur j'ai commise ? Je rencontre toujours ce problème.
Merci encore!
Re : Importer plusieurs fichiersVous pouvez essayer d'utiliser fonction() (jmp.com) ou expr(). Voici quelques options utilisant function() :
Names Default To Here(1);
open_and_modify = function({file_path}, {Default Local},
dt = Open(file_path, Worksheets("Table1"), XXX);
// New operation e.g. New column: Column 2
dt << New Column("Column 2", Numeric, "Continuous", Format("Best", 12));
dt << Set Name("File1");
return(dt);
);
dt1 = open_and_modify("PATH/File1.xlsx");
dt2 = open_and_modify("PATH/File2.xlsx");
dt3 = open_and_modify("PATH/File3.xlsx");
//or have a list of paths
file_paths = {"PATH/File1.xlsx", "PATH/File2.xlsx", "PATH/File3.xlsx"};
//create first concatenate before
table_list = {};
For Each({new_file_path}, files,
Insert Into(table_list, open_and_modify(new_file_path));
);