Wie man CSV-Dateien in ein Array in PowerShell importiert
- Die durch Kommata getrennte Werte-Datei
-
Verwenden Sie das
Import-CSV
Cmdlet, um CSV-Dateien in ein Array in PowerShell zu importieren -
Verwenden Sie das
Get-Content
undConvertFrom-Csv
Cmdlet, um CSV-Dateien in ein Array in PowerShell zu importieren -
Verwenden Sie die
System.IO.File
undConvertFrom-Csv
Cmdlet, um CSV-Dateien in ein Array in PowerShell zu importieren - Fazit

CSV (Comma-Separated Values) Dateien dienen als grundlegendes Datenformat, das Informationen in einer tabellarischen Struktur mit durch Kommas getrennten Feldern kapselt. Obwohl sie häufig mit Tabellenkalkulationssoftware in Verbindung gebracht werden, findet ihre einfache, aber vielseitige Natur Anwendung auf verschiedenen Plattformen, einschließlich PowerShell.
Im PowerShell-Scripting ist es entscheidend, CSV-Daten effizient zu lesen und zu verarbeiten, um Automatisierungs- und Datenmanipulationsaufgaben durchzuführen. Dieser Artikel untersucht drei Methoden—Import-CSV
, Get-Content
Cmdlets und System.IO.File
Klasse mit ConvertFrom-Csv
Cmdlet—zum Importieren von CSV-Dateien in Arrays und bietet Einblicke in deren Verwendung, Vorteile und Anwendungsszenarien.
Die durch Kommata getrennte Werte-Datei
Eine CSV (Comma-Separated Values) Datei enthält Daten oder Mengen, die durch Kommas getrennt sind. Dies ermöglicht es, die Daten in einem tabellarischen Format zu speichern.
Benutzer können CSV-Dateien mit den meisten Tabellenkalkulationsprogrammen nutzen, wie Microsoft Excel oder Google Tabellen. Wenn wir sie jedoch in Software öffnen, die keine tabellarischen Formate unterstützt, werden die Daten durch Kommas getrennt, was PowerShell verwenden kann, um Werte in Arrays zu trennen.
Zum Beispiel, unten ist ein rohes CSV-Format mit zwei Spalten.
users.csv
Datei:
Name,Salary
John,1000
Paul,2000
Mary,1500
Matt,3000
Verwenden Sie das Import-CSV
Cmdlet, um CSV-Dateien in ein Array in PowerShell zu importieren
Der Import-CSV
Befehl in Windows PowerShell erstellt eine Tabelle ähnlicher benutzerdefinierter Objekte aus den in der obigen CSV-Datei vorhandenen Elementen.
Im folgenden Windows PowerShell-Skript verwenden wir den Import-CSV
Befehl, um die Daten der CSV-Datei einer Windows PowerShell Array-Typvariablen zuzuweisen.
$users = Import-Csv path\users.csv
$users
Wir beginnen mit der Verwendung des Import-Csv
Cmdlets, um Daten aus einer CSV-Datei zu lesen, die sich unter path\users.csv
befindet. Dieses Cmdlet liest den Inhalt der CSV-Datei und wandelt ihn in ein PowerShell-Objekt um.
Dann weisen wir die importierten CSV-Daten der Variable $users
zu. Diese Variable hält nun den Inhalt der CSV-Datei als Array von Objekten, wobei jedes Objekt eine Zeile aus der CSV-Datei darstellt.
Nach der Ausführung können wir sehen, dass die Werte der CSV-Datei in ein Format verwandelt wurden, das als ArrayList
-Objekt bezeichnet wird.
Ausgabe:
Zugriff auf Elemente nach dem Importieren von CSV-Dateien in ein Array in PowerShell
Wenn wir eine CSV-Datei mit Import-Csv
in PowerShell importieren, wird jede Zeile der CSV-Datei als Objekt dargestellt, und die gesamten CSV-Daten werden als Array dieser Objekte gespeichert. Um auf einzelne Zeilen oder Elemente innerhalb der CSV-Daten zuzugreifen, verwenden wir die Array-Indizierung.
$users = Import-Csv path\users.csv
$users[0]
Wir beginnen mit dem Importieren einer CSV-Datei namens users.csv
, die sich am angegebenen Pfad befindet. Wir verwenden das Import-Csv
Cmdlet zu diesem Zweck.
Dieses Cmdlet liest den Inhalt der CSV-Datei und wandelt ihn in ein PowerShell-Objekt um.
Nach dem Importieren der CSV-Datei möchten wir auf die erste Zeile der CSV-Daten zugreifen. Dies erreichen wir durch die Verwendung von Array-Indizierung.
In PowerShell beginnt die Array-Indizierung bei 0, sodass $users[0]
auf das erste Element (oder die Zeile) im $users
Array verweist.
Ausgabe:
Wir können auf die Eigenschaft eines bestimmten Elements aus dem Windows PowerShell-Array zugreifen, indem wir den Spaltennamen als Eigenschaftsnamen behandeln, wie im folgenden Beispiel.
$users = Import-Csv path/users.csv
$users[0].Name
Nachdem wir die CSV-Datei importiert und ihren Inhalt in der Variable $users
gespeichert haben, fahren wir fort, um eine bestimmte Eigenschaft der ersten Zeile der CSV-Daten abzurufen. In diesem Fall möchten wir den Wert der Name
-Eigenschaft aus der ersten Zeile abrufen.
Indem wir $users[0].Name
angeben, greifen wir auf die Name
-Eigenschaft des Objekts zu, das die erste Zeile der CSV-Daten darstellt. Dies ermöglicht es uns, den Wert abzurufen, der mit der Name
-Spalte in der CSV-Datei für die erste Zeile verbunden ist.
Ausgabe:
Wir können die Anzahl der Elemente in einem Array mit der Count
Eigenschaft unten zählen.
$users = Import-Csv path/users.csv
$users.Count
Nachdem wir die CSV-Datei importiert und ihren Inhalt in der Variable $users
gespeichert haben, möchten wir die Anzahl der Elemente (Zeilen) im Array bestimmen.
Indem wir $users.Count
verwenden, greifen wir auf die Count
-Eigenschaft des Arrays zu, das in der Variable $users
gespeichert ist. Diese Eigenschaft gibt die Anzahl der Elemente (Zeilen) im Array zurück.
Ausgabe:
Verwenden Sie das Get-Content
und ConvertFrom-Csv
Cmdlet, um CSV-Dateien in ein Array in PowerShell zu importieren
Ein einfacher Ansatz, um diese Aufgabe zu erledigen, besteht darin, die Get-Content
und ConvertFrom-Csv
Cmdlets zu verwenden. Mit dieser Methode können wir den Inhalt einer CSV-Datei als Text lesen, indem wir Get-Content
verwenden und ihn dann mit ConvertFrom-Csv
in PowerShell-Objekte umwandeln, wodurch ein Array von Objekten geschaffen wird, die jede Zeile der CSV-Daten darstellen.
$content = Get-Content -Path "C:\path\data.csv"
$array = $content | ConvertFrom-Csv
$array
Wir beginnen mit der Verwendung von Get-Content
, um den Inhalt der CSV-Datei am angegebenen Pfad zu lesen und in der Variable $content
zu speichern.
Als nächstes leiten wir den Inhalt der in $content
gespeicherten CSV-Datei an ConvertFrom-Csv
weiter. Dieses Cmdlet wandelt den CSV-Text in PowerShell-Objekte um und speichert sie in der Variable $array
.
Nach der Ausführung können wir sehen, dass die Werte der CSV-Datei in ein Format verwandelt wurden, das als ArrayList
-Objekt bezeichnet wird.
Ausgabe:
Verwenden Sie die System.IO.File
und ConvertFrom-Csv
Cmdlet, um CSV-Dateien in ein Array in PowerShell zu importieren
Die System.IO.File
Klasse ermöglicht das Lesen des Inhalts von CSV-Dateien, die dann mit dem ConvertFrom-Csv
Cmdlet in PowerShell-Objekte umgewandelt werden. Diese Methode bietet nicht nur Flexibilität, sondern sorgt auch für eine einfache Handhabung, sodass Benutzer CSV-Daten nahtlos in ihren PowerShell-Skripten verwalten können.
$content = [System.IO.File]::ReadAllText("C:\path\data.csv")
$array = $content | ConvertFrom-Csv
$array
Wir verwenden [System.IO.File]::ReadAllText
, um den Inhalt der CSV-Datei am angegebenen Pfad zu lesen und in der Variable $content
zu speichern.
Als nächstes leiten wir den Inhalt der in $content
gespeicherten CSV-Datei an ConvertFrom-Csv
weiter. Dieses Cmdlet wandelt den CSV-Text in PowerShell-Objekte um und speichert sie in der Variable $array
.
Nach der Ausführung können wir sehen, dass die Werte der CSV-Datei in ein Format verwandelt wurden, das als ArrayList
-Objekt bezeichnet wird.
Ausgabe:
Fazit
Im PowerShell-Scripting ist es unerlässlich, CSV-Daten nahtlos zu handhaben, um eine effektive Automatisierung und Datenverarbeitung zu gewährleisten. Durch die Nutzung der Import-CSV
, Get-Content
Cmdlets oder der System.IO.File
Klasse mit dem ConvertFrom-Csv
Cmdlet können Benutzer CSV-Dateien effizient in Arrays einlesen, wodurch sie Daten mit Leichtigkeit und Flexibilität manipulieren können.
Ob beim Extrahieren von Erkenntnissen aus großen Datensätzen oder beim Automatisieren sich wiederholender Aufgaben, diese Methoden bieten leistungsstarke Werkzeuge für PowerShell-Entwickler. Mit einem klaren Verständnis dieser Techniken können Benutzer die Kraft von CSV-Daten in ihren Skripten nutzen, wodurch Arbeitsabläufe optimiert und die Produktivität gesteigert wird.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInVerwandter Artikel - PowerShell Array
- PowerShell mehrdimensionale Arrays
- Wie man doppelte Werte aus einem PowerShell-Array entfernt
- Wie man Objekte zu einem Array von Objekten in PowerShell hinzufügt
- Wie man ein Array an eine Funktion in PowerShell übergibt
- Array von Zeichenfolgen in PowerShell
Verwandter Artikel - PowerShell CSV
- 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
- Wie man CSV-Dateien in PowerShell kombiniert
- Exportieren von Daten in CSV in PowerShell