Ouverture de plusieurs fichiers et comparaison des noms de fichiers<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut à tous,
Je dois ouvrir plusieurs fichiers à partir d'un dossier particulier (en particulier, je veux uniquement ouvrir les fichiers .csv). Je souhaite également extraire des informations à partir des noms de fichiers des fichiers en cours d'évaluation.
Actuellement j'ai ce ...
Définir le répertoire actuel ("C: \ Jan_24th \");
files = Fichiers dans le répertoire ("C: \ Jan_24th");
pour (i = 1, i <= N éléments (fichiers), i ++,
Ouvrir(
des dossiers ,
.........
1. Cela peut ouvrir tous les fichiers que j'ai dans le dossier. Mais le problème est qu'il peut ouvrir n'importe quel fichier que j'ai dans mon dossier, pas seulement les fichiers .csv.
2 Je souhaite créer une zone de texte dans mon journal en fonction du nom de fichier actuel:
Par exemple, si (fichiers == "Red_color.csv", zone de texte ("Red") << Journal;);
si (fichiers == "Green_color.csv", zone de texte ("Green") << Journal;);
si (fichiers == "Blue_color.csv", zone de texte ("Blue") << Journal;);
Je n'arrive pas à faire fonctionner cela .... En outre, il doit exister une manière élégante de faire cela (n ° 2) au lieu d'utiliser plusieurs boucles for. Je ne suis pas sûr si la commande "substr" pourrait être utilisée ici.
Merci!
Ouverture de plusieurs fichiers et comparaison des noms de fichiersLa différence est que, avec la chaîne de remplacement "\ 1", la fonction ne renvoie que ce qui se trouve à l'intérieur des premiers parenthèses. Cela fonctionnerait bien aussi sans "\ 1", mais dans l'exemple actuel, par exemple, "Red_" au lieu de "Red".
Ouverture de plusieurs fichiers et comparaison des noms de fichiersMerci MS ... Ça a marché comme sur des roulettes.
Juste une question de débutant, je suppose, pourquoi avez-vous utilisé le \ 1 dans votre regex. Pourquoi la nécessité de re-rechercher le (. +?) ... ce n'est pas un gros problème mais quelque chose que je pensais demander.
Ouverture de plusieurs fichiers et comparaison des noms de fichiersJe pense que Ends With () peut être utilisé pour # 1 si les noms de fichier des fichiers csv se terminent toujours par .csv. Regex est plus polyvalent que Substr for # 2. Un exemple:
Définir le répertoire par défaut ( "C: \ Jan_24th \" ) ;
des dossiers = Fichiers dans le répertoire ( "C: \ Jan_24th \" ) ;
Pour ( je = 1 , je <= N articles ( des dossiers ) , je ++,
Si ( Se termine par ( des dossiers [ je ] , ".csv" ) ,
Ouvrir ( des dossiers [ je ] ) ;
Zone de texte ( Regex ( des dossiers [ je ] , "(. +?) _" , "\1" ) ) << journal ; // Tout le texte avant le premier "_" dans le fichier je Le nom de ce dernier est journalisé
)
) ;