Astuce Windows : comment filtrer et enregistrer des ensembles de données efficacement
Voici comment filtrer des ensembles de données précis au sein d’une base de données et les enregistrer dans un fichier séparé en s’épargnant de longues commandes Excel et toute une série de copier-coller sur la console.
Une de mes connaissances gère, à titre bénévole, la base de données des membres d’un grand club de tir et de gymnastique. Depuis la révision de la loi fédérale sur la protection des données (LPD), il n’a plus le droit de faire circuler la liste Excel dans son intégralité. Il doit se limiter à des jeux de données individuels, partiellement anonymisés.
Pour créer des listes de membres d’un groupe de covoiturage, il doit donc filtrer les données dans Excel, puis les copier et les coller dans d’autres fichiers. Ça lui prend un temps fou !
Comment automatiser les requêtes dans PowerShell
Dans ce genre de situations, les scripts de PowerShell nous simplifient la tâche. En effet, ils cherchent les paramètres correspondants dans la base de données, lisent les séries de données correspondantes et les copient dans un nouveau fichier texte séparé, pour autant que la base de données soit au format .txt, .ini ou .csv. Si vous avez des fichiers .xlsx, copiez-les au format .csv.
Voici comment créer un script :
- Ouvrez le dossier dans lequel vous avez sauvegardé votre fichier .csv (les formats .txt ou .ini fonctionnent aussi).
- Ouvrez PowerShell en cliquant sur un emplacement libre du dossier et en sélectionnant « Ouvrir dans le terminal ».
- Saisissez les paramètres suivants dans le champ de texte :
get-Content '.\contacts.csv' | Select-String -pattern "Winterthur" | Out-File resultat.txt
, puis appuyez sur Enter. La première partie de la commande sélectionne le fichier texte en question, la deuxième sélectionne les ensembles de données qui remplissent vos conditions, et la troisième enregistre les résultats de la recherche dans un fichier texte. Dans mon fichier, tous les ensembles de données contenant le paramètre « Winterthur » sont maintenant sélectionnés, mais vous pouvez renseigner n’importe quel terme de recherche.
- PowerShell crée ensuite un fichier dans le même répertoire que votre base de données.
Vous avez un fichier texte contenant les ensembles de données correspondants. Il vous faut ensuite renommer le fichier et le pattern (dans mon cas « contacts.txt » et « Winterthur », respectivement).
Remarque : le conseil et la commande ci-dessus ne s’appliquent qu’à ce cas d’utilisation précis. Vous avez des problèmes similaires ? N’hésitez pas à les partager en commentaire, j’essaierai de trouver une solution dans d’autres astuces Windows.
Depuis que j'ai découvert comment activer les deux canaux téléphoniques de la carte RNIS pour obtenir une plus grande bande passante, je bricole des réseaux numériques. Depuis que je sais parler, je travaille sur des réseaux analogiques. Un Winterthourois d'adoption au cœur rouge et bleu.