Kombinieren von CSV-Dateien in PowerShell
-
Das
CSV
-Format -
Filtern der
.csv
-Dateien in PowerShell -
Rufen Sie jedes
.csv
-Dateiobjekt in PowerShell ab - Führen Sie den Inhalt von CSV-Dateien in PowerShell zusammen
- Schreiben Sie den zusammengeführten Inhalt in eine Textdatei in PowerShell
Es kann erforderlich sein, mehrere CSV-Dateien zusammenzuführen und die Daten in eine Textdatei in PowerShell zu schreiben. Für diesen Vorgang können die Cmdlets Import-Csv
und Export-Csv
verwendet werden.
Das CSV
-Format
Es stehen verschiedene Arten von Dateiformaten für unterschiedliche Zwecke zur Verfügung. Die CSV
verwendet eine einfache Struktur, um Daten zu speichern.
Es kann verwendet werden, um Daten zwischen verschiedenen Programmen auszutauschen. Wie der Name CSV
(comma-separated values) andeutet, werden Daten durch Kommas getrennt.
Die in einer CSV
-Datei gespeicherten Informationen sehen wie folgt aus.
UserName,Identifier,First Name,Last Name
jak12,1001,Harry,Smith
Rock90,1002,Jeremy,Hamilton
Rick23,1003,Rakesh,Donas
User01,1004,Lokie,Ferguson
Das Trennzeichen kann ein Leerzeichen, ein Semikolon oder ein beliebiges anderes Zeichen sein.
Lassen Sie uns zwei csv
-Dateien erstellen, die wir mit PowerShell zusammenführen.
username.csv
-Inhalt:
username2.csv
Inhalt:
Filtern der .csv
-Dateien in PowerShell
Es wird empfohlen, das Cmdlet Get-ChildItem
zu verwenden, um alle .csv
-Dateitypen am angegebenen Speicherort abzurufen. Der Parameter -Filter
kann übergeben werden, um die Dateien mit der Erweiterung .csv
zu filtern.
Der Ordnerpfad zu den .csv
-Dateien kann in Ihrem Fall anders sein.
$csvFilePath = "D:\csvfiles"
$csvFileList = Get-ChildItem $csvFilePath -Filter *.csv
Lassen Sie uns den verfügbaren Inhalt in der $csvFileList
überprüfen.
$csvFileList
Ausgabe:
Rufen Sie jedes .csv
-Dateiobjekt in PowerShell ab
Rufen wir jedes Dateiobjekt mit seinem vollständigen Namen ab. Mit dem Cmdlet Select-Object
kann jedes Objekt mit seinen erweiterten Eigenschaften abgerufen werden.
Wir leiten die Ausgabe des vorherigen Schritts an den Befehl Select-Object
weiter.
$csfFilesToImport = $csvFileList | Select-Object -ExpandProperty FullName
Wenn Sie die Variable $csfFilesToImport
anzeigen, können Sie sehen, dass beide CSV
-Dateiobjekte mit dem vollständigen Namen verfügbar sind.
$csfFilesToImport
Ausgabe:
Führen Sie den Inhalt von CSV-Dateien in PowerShell zusammen
Da wir alle CSV
-Dateien haben, importieren wir den Inhalt jeder Datei. Dies würde den Inhalt leicht mit einer gemeinsamen Kopfzeile zusammenführen.
Wir können den Import-CSV
verwenden, um tabellenartige Objekte aus den Inhalten der geleiteten CSV
-Datei zu konstruieren.
$importedCsvFiles = $csfFilesToImport | Import-Csv
$importedCsvFiles
Ausgabe:
Die Informationen wurden aus den beiden bereitgestellten CSV
-Dateien zusammengeführt.
Schreiben Sie den zusammengeführten Inhalt in eine Textdatei in PowerShell
Wir können die obigen Objekte in CSV
-Strings umwandeln und sie in einer Textdatei speichern. Das Cmdlet Export-Csv
steht zur Verfügung.
Wir sollten den Parameter Append
verwenden, um sicherzustellen, dass der Inhalt nicht ersetzt und angehängt wird.
$importedCsvFiles | Export-Csv D:\merged.txt -NoTypeInformation -Append
Ausgabe:
Dadurch sollte eine neue Textdatei mit dem Namen merged.txt
erstellt werden. Dieser Dateiinhalt würde aus den beiden oben genannten CSV
-Dateien zusammengeführt.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.
Verwandter Artikel - PowerShell CSV
- Importieren Sie CSV-Dateien in Array in PowerShell
- PowerShell Extrahieren Sie eine Spalte aus einer CSV-Datei und speichern Sie sie in einer Variablen
- Textdatei importieren und formatieren und in PowerShell in CSV exportieren
- Anhängen von Daten an eine CSV-Datei in PowerShell
- Exportieren von Daten in CSV in PowerShell