Wie man CSV-Dateien in PowerShell kombiniert
-
Das
CSV
-Format -
Filter die
.csv
-Dateien in PowerShell -
Holen Sie sich jedes
.csv
-Dateiobjekt in PowerShell - Führen Sie den Inhalt von CSV-Dateien in PowerShell zusammen
- Schreiben Sie den zusammengeführten Inhalt in eine Textdatei in PowerShell

Es kann eine Anforderung bestehen, mehrere CSV-Dateien zusammenzuführen und die Daten in eine Textdatei in PowerShell zu schreiben. Die Cmdlets Import-Csv
und Export-Csv
können verwendet werden, um diese Operation durchzuführen.
Das CSV
-Format
Es gibt verschiedene Arten von Dateiformaten, die für unterschiedliche Zwecke verfügbar sind. Das CSV
verwendet eine einfache Struktur zur Speicherung von Daten.
Es kann verwendet werden, um Daten zwischen verschiedenen Programmen auszutauschen. Wie der Name CSV
(Comma-Separated Values) impliziert, sind die Daten durch Kommata getrennt.
Die in einer CSV
-Datei gespeicherten Informationen sehen folgendermaßen 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 anderes Zeichen sein.
Lassen Sie uns zwei csv
-Dateien erstellen, die wir mit PowerShell zusammenführen werden.
Inhalt von username.csv
:
Inhalt von username2.csv
:
Filter die .csv
-Dateien in PowerShell
Es wird empfohlen, das Cmdlet Get-ChildItem
zu verwenden, um alle .csv
-Dateitypen im angegebenen Speicherort abzurufen. Der Parameter -Filter
kann übergeben werden, um die Dateien mit der .csv
-Erweiterung zu filtern.
Der Ordnerpfad zu den .csv
-Dateien kann in Ihrem Fall unterschiedlich sein.
$csvFilePath = "D:\csvfiles"
$csvFileList = Get-ChildItem $csvFilePath -Filter *.csv
Lassen Sie uns den verfügbaren Inhalt in der $csvFileList
überprüfen.
$csvFileList
Ausgabe:
Holen Sie sich jedes .csv
-Dateiobjekt in PowerShell
Lassen Sie uns jedes Dateiobjekt mit seinem vollständigen Namen abrufen. Das Cmdlet Select-Object
kann verwendet werden, um jedes Objekt mit seinen erweiterten Eigenschaften abzurufen.
Wir leiten die Ausgabe des vorherigen Schrittes an den Befehl Select-Object
weiter.
$csfFilesToImport = $csvFileList | Select-Object -ExpandProperty FullName
Wenn Sie die Variable $csfFilesToImport
anzeigen, kann man 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 jetzt alle CSV
-Dateien haben, lassen Sie uns den Inhalt jeder Datei importieren. Dies würde den Inhalt mit einer gemeinsamen Kopfzeile einfach zusammenführen.
Wir können Import-CSV
verwenden, um tabellenähnliche Objekte aus den gepipeten CSV
-Dateiinhalten zu erstellen.
$importedCsvFiles = $csfFilesToImport | Import-Csv
$importedCsvFiles
Ausgabe:
Die Informationen wurden aus den beiden angegebenen 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 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, sondern angefügt wird.
$importedCsvFiles | Export-Csv D:\merged.txt -NoTypeInformation -Append
Ausgabe:
Das sollte eine neue Textdatei mit dem Namen merged.txt
erstellen. Der Inhalt dieser Datei würde aus den beiden oben genannten CSV
-Dateien zusammengeführt werden.
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
- Wie man CSV-Dateien in ein Array in PowerShell importiert
- 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
- Wie man Daten an eine CSV-Datei in PowerShell anfügt
- Exportieren von Daten in CSV in PowerShell