Windows tip: Gegevensrecords filteren en opslaan met een script - hoe doe je dat efficiënt?
Gids

Windows tip: Gegevensrecords filteren en opslaan met een script - hoe doe je dat efficiënt?

Florian Bodoky
25/3/2024
Vertaling: machinaal vertaald

Individuele gegevensrecords uit databases filteren en in een apart bestand opslaan: in plaats van kilometerslange Excel-commando's en copy-paste marathons met de console.

Een kennis van mij beheert op vrijwillige basis de ledendatabase van een grote turn- en schietvereniging. Sinds de invoering van de herziene Wet Bescherming Persoonsgegevens mag hij niet meer de hele Excel-lijst verspreiden, maar alleen individuele, deels geanonimiseerde gegevensrecords.

  • Achtergrond

    De nieuwe Zwitserse wet op gegevensbescherming - wat je moet weten

    van Florian Bodoky

Om bijvoorbeeld lijsten voor autopools te maken, moet hij filteren in Excel en de gegevensrecords moeizaam kopiëren en plakken in andere bestanden. Dat is veel werk.

Query's uitvoeren in PowerShell

Dit is eenvoudiger met een PowerShell script. Dit moet zoeken naar de relevante parameters in de database, de respectieve gegevensrecords uitlezen en ze kopiëren naar een nieuw, afzonderlijk tekstbestand. Dit werkt alleen als de database het formaat ".txt", ".ini" of ".csv" heeft. Je kunt bestanden in ".xlsx" opslaan als een kopie in ".csv".

Hoe bouw je het bijbehorende script:

  1. Open de map waarin je het CSV-bestand (of het TXT- of inibestand) hebt opgeslagen.
  2. Open PowerShell door op een vrije plaats in de map te klikken en "Open in Terminal" te selecteren.
In de map van het opgeslagen bestand klik je met de rechtermuisknop om het contextmenu te openen.
In de map van het opgeslagen bestand klik je met de rechtermuisknop om het contextmenu te openen.
Bron: Florian Bodoky
  1. Typ de volgende parameters in het tekstveld: get-Content '.\contacts.csv' | Select-String -pattern "Winterthur" | Out-File resultat.txt en druk op Enter. Het eerste deel van de opdracht selecteert het tekstbestand in kwestie. Het tweede selecteert de records die aan je voorwaarden voldoen. Nummer drie slaat de zoekresultaten op in een tekstbestand. In mijn bestand zijn nu alle gegevensrecords geselecteerd die de parameter "Winterthur" bevatten. Je kunt de zoekterm vervangen door elke term die je maar wilt.
Zo zou de opdracht eruit moeten zien.
Zo zou de opdracht eruit moeten zien.
Bron: Florian Bodoky
Als er een rode vermelding verschijnt, heb je waarschijnlijk ergens een typefout gemaakt.
Als er een rode vermelding verschijnt, heb je waarschijnlijk ergens een typefout gemaakt.
Bron: Florian Bodoky
  1. Het bestand wordt nu aangemaakt in dezelfde map waar je database staat.

Je hebt nu een tekstbestand met de bijbehorende gegevensrecords - je moet natuurlijk wel de bestandsnaam, in mijn geval "contacts.txt" en het patroon, in mijn geval "Winterthur", veranderen.

Noot: Deze tip en de opdracht hebben betrekking op één gebruiksgeval. Heb jij soortgelijke problemen waarmee ik je zou kunnen helpen? Schrijf ze dan in de opmerkingen. Ik zal proberen ze te beantwoorden in andere Windows tips.

15 mensen vinden dit artikel leuk


User Avatar
User Avatar

Sinds ik ontdekt heb hoe ik beide telefoonkanalen op de ISDN kaart kan activeren voor meer bandbreedte, ben ik aan het knutselen met digitale netwerken. Ik knutsel al met analoge netwerken sinds ik kan praten. Winterthur door keuze met een rood-blauw hart. En koffie - voor, na, tussendoor en tijdens. 


Deze artikelen kunnen je ook interesseren

Opmerkingen

Avatar