Konvertiert Objekteigenschaften in einer CSV-Datei (Comma-Separated Value) in CSV-Versionen der ursprünglichen Objekte. (Import-CSV)

   

NAME
Import-CSV

# ÜBERSICHT
Konvertiert Objekteigenschaften in einer CSV-Datei (Comma-Separated Value) in CSV-Versionen der ursprünglichen Objekte.

# SYNTAX
Import-CSV [[-Delimiter] <char>] [-Path] <string[]> [-Header <string[]>] [<CommonParameters>]

Import-CSV -UseCulture [-Path] <string[]> [-Header <string[]>] [<CommonParameters>]

# BESCHREIBUNG
Das Cmdlet "Import-CSV" erstellt Objekte aus CSV-Dateien, die vom Cmdlet "Export-CSV" generiert werden.

Sie können mit den Parametern des Cmdlets "Import-CSV" die Spaltenüberschriftenzeile angeben, die die Eigenschaftennamen der resultierenden Objekte bestimmt, das Elementtrennzeichen angeben oder festlegen, dass Import-CSV das Listentrennzeichen für die aktuelle Kultur als Elementtrennzeichen verwendet.

Die von Import-CSV erstellten Objekte sind CSV-Versionen der ursprünglichen Objekte. Die Eigenschaftenwerte der CSV-Objekte sind Zeichenfolgenversionen der Eigenschaftenwerte der ursprünglichen Objekte. Die CSV-Versionen der Objekte verfügen über keine Methoden.

Sie können auch die Cmdlets "ConvertTo-CSV" und "ConvertFrom-CSV" verwenden, um Objekte in CSV-Zeichenfolgen zu konvertieren (bzw. um CSV-Zeichenfolgen in Objekte zu konvertieren). Diese Cmdlets entsprechen den Cmdlets "Export-CSV" und "Import-CSV", mit dem Unterschied, dass sie die CSV-Zeichenfolgen nicht in einer Datei speichern.

# PARAMETER
-Delimiter <char>
Gibt das Trennzeichen zum Trennen der Eigenschaftenwerte in der CSV-Datei an. Der Standardwert ist ein Komma (,). Geben Sie ein Zeichen ein, z. B. einen Doppelpunkt (:). Um ein Semikolon (;) anzugeben, schließen Sie es in Anführungszeichen ein.

Wenn Sie ein anderes Zeichen als das tatsächliche Zeichenfolgentrennzeichen in der Datei angeben, können mit Import-CSV keine Objekte aus den CSV-Zeichenfolgen erstellt werden. Stattdessen werden die Zeichenfolgen zurückgegeben.

Erforderlich? false
Position? 2
Standardwert ,
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

-Header <string[]>
Gibt eine alternative Spaltenüberschriftenzeile für die importierte Datei an. Die Spaltenüberschrift bestimmt die Namen der Eigenschaften des Objekts, das von Import-CSV erstellt wird.

Geben Sie eine durch Trennzeichen getrennte Liste der Spaltenüberschriften ein. Schließen Sie jedes Element in (einzelne oder doppelte) Anführungszeichen ein. Schließen Sie die Headerzeichenfolge nicht in Anführungszeichen ein. Wenn Sie weniger Spaltenüberschriften eingeben als Spalten vorhanden sind, verfügen die verbleibenden Spalten über keine Überschrift. Wenn Sie mehr Überschriften eingeben als Spalten vorhanden sind, werden die zusätzlichen Überschriften ignoriert.

Wenn Sie den Header-Parameter verwenden, löschen Sie die ursprüngliche Überschriftenzeile aus der CSV-Datei. Andernfalls erstellt Import-CSV ein zusätzliches Objekt aus den Elementen in der Überschriftenzeile.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

-Path <string[]>
Gibt den Pfad der zu importierenden CSV-Datei an. Sie können einen Pfad auch über die Pipeline an Import-CSV übergeben.

Erforderlich? true
Position? 1
Standardwert Keiner
Pipelineeingaben akzeptieren?true (ByValue, ByPropertyName)
Platzhalterzeichen akzeptieren?false

-UseCulture [<SwitchParameter>]
Verwendet das Listentrennzeichen für die aktuelle Kultur als Elementtrennzeichen. Der Standardwert ist ein Komma (,).

Um das Listentrennzeichen für eine Kultur zu suchen, verwenden Sie den folgenden Befehl: (Get-Culture).TextInfo.ListSeparator. Wenn Sie ein anderes Zeichen als das in den CSV-Zeichenfolgen verwendete Trennzeichen angeben, können mit ConvertFrom-CSV keine Objekte aus den CSV-Zeichenfolgen erstellt werden. Stattdessen werden die Zeichenfolgen zurückgegeben.

Erforderlich? true
Position? named
Standardwert Komma
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".

# EINGABEN
System.String
Sie können eine Zeichenfolge mit einem Pfad über die Pipeline an Import-CSV übergeben.

# AUSGABEN
Objekt.
Import-CSV gibt die durch den Inhalt der CSV-Datei beschriebenen Objekte zurück.

# HINWEISE

Da die importierten Objekte CSV-Versionen des Objekttyps sind, werden sie von den Windows PowerShell-Typformatierungseinträgen, die keine CSV-Versionen des Objekttyps formatieren, nicht erkannt und formatiert.

Jedes Objekt in der CSV-Datei wird durch eine durch Trennzeichen getrennte Liste der Eigenschaftenwerte des Objekts dargestellt. Die Eigenschaftenwerte werden in Zeichenfolgen konvertiert (mit der ToString()-Methode des Objekts). Deshalb werden sie im Allgemeinen durch den Namen des Eigenschaftenwerts dargestellt. Export-CSV exportiert nicht die Methoden des Objekts.

# BEISPIEL 1

C:\PS>get-process | export-csv processes.csv

C:\PS> $p = import-CSV processes.csv

C:\PS> $p | get-member

TypeName: CSV:System.Diagnostics.Process

Name MemberType Definition
---- ---------- ----------
Equals Method System.Boolean Equals(Object obj)
GetHashCode Method System.Int32 GetHashCode()
GetType Method System.Type GetType()
ToString Method System.String ToString()
BasePriority NoteProperty System.String BasePriority=8
Company NoteProperty System.String Company=Microsoft Corporation
...

C:\PS> $p | out-gridview

Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie eine CSV-Datei von Microsoft .NET Framework-Objekten exportiert und dann importiert wird.

Im ersten Befehl wird der Prozess auf dem Computer mit dem Cmdlet "Get-Process" abgerufen. Die Prozessobjekte werden mithilfe eines Pipelineoperators (|) an das Cmdlet "Export-CSV" gesendet, das die Prozessobjekte in die Datei "Processes.csv" im aktuellen Verzeichnis exportiert.

Im zweiten Befehl werden die Prozesse in der Datei "Import-CSV" mit dem Cmdlet "Import-CSV" importiert. Dann werden die resultierenden Prozessobjekte in der Variablen "$p" gespeichert.

Im dritten Befehl werden die importierten Objekte mit einem Pipelineoperator über die Pipeline an die Get-Member-Cmdlets übergeben. Das Ergebnis zeigt, dass es sich um CSV:System.Diagnostic.Process-Objekte und nicht um die von Get-Process zurückgegebenen System.Diagnostic.Process-Objekte handelt.

Da in den Formatierungsdateien für die CSV-Version der Prozessobjekte kein Eintragstyp vorhanden ist, werden diese Objekte nicht auf die gleiche Weise wie die Standardprozessobjekte formatiert.

Um die Objekte anzuzeigen, verwenden Sie die Formatierungs-Cmdlets, z. B. Format-Table und Format-List, oder übergeben Sie die Objekte über die Pipeline an Out-GridView.

# BEISPIEL 2

C:\PS>get-process | export-csv processes.csv -Delimiter :

C:\PS> $p = import-csv processes.csv -Delimiter :

Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie der Delimiter-Parameter von Import-CSV verwendet wird. In diesem Beispiel werden die Prozesse in eine Datei exportiert, die einen Doppelpunkt (:) als Trennzeichen verwendet.

Beim Importieren gibt die Import-CSV-Datei das in der Datei verwendete Trennzeichen mit dem Delimiter-Parameter an.

# BEISPIEL 3

C:\PS>$p = import-csv processes.csv -UseCulture

C:\PS> (get-culture).textinfo.listseparator

,

Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie der UseCulture-Parameter von Import-CSV verwendet wird.

Im ersten Befehl werden die Objekte in der Datei "Processes.csv" in die Variable "$p" importiert. Mit dem UseCulture-Parameter wird festgelegt, dass Import-CSV das für die aktuelle Kultur definierte Listentrennzeichen verwendet.

Im zweiten Befehl wird das Listentrennzeichen für die aktuelle Kultur angezeigt. Die aktuelle Kultur wird mit dem Cmdlet "Get-Culture" abgerufen. Die TextInfo-Eigenschaft der aktuellen Kultur und die ListSeparator-Eigenschaft des Objekts in TextInfo werden mit der DOT-Methode (.) abgerufen. In diesem Beispiel gibt der Befehl ein Komma zurück.

# BEISPIEL 4

C:\PS>start-job -scriptblock { get-process } | export-csv jobs.csv

C:\PS> $header = "MoreData","StatusMessage","Location","Command","State","Finished","InstanceId","SessionId","Name","ChildJobs","Output","Error","Progress","Verbose","Debug","Warning","StateChanged"

# Delete header from file
C:\PS> $a = (get-content jobs.csv)
C:\PS> $a = $a[0], $a[2..($a.count - 1)]
C:\PS> $a > jobs.csv

C:\PS> $j = import-csv jobs.csv -header $header

C:\PS> $j

MoreData : True
StatusMessage :
Location : localhost
Command : get-process
State : Running
Finished : System.Threading.ManualResetEvent
InstanceId : 135bdd25-40d6-4a20-bd68-05282a59abd6
SessionId : 1
Name : Job1
ChildJobs : System.Collections.Generic.List`1[System.Management.Automation.Job]
Output : System.Management.Automation.PSDataCollection`1[System.Management.Automation.PSObject]
Error : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ErrorRecord]
Progress : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ProgressRecord]
Verbose : System.Management.Automation.PSDataCollection`1[System.String]
Debug : System.Management.Automation.PSDataCollection`1[System.String]
Warning : System.Management.Automation.PSDataCollection`1[System.String]
StateChanged :

Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie die Namen von Eigenschaften im resultierenden importierten Objekt mit dem Header-Parameter von Import-CSV geändert werden.

Im ersten Befehl wird ein Hintergrundauftrag, der auf dem lokalen Computer den Befehl "Get-Process" ausführt, mit dem Cmdlet "Start-Job" gestartet. Das resultierende Auftragsobjekt wird mit einem Pipelineoperator (|) an das Cmdlet "Export-CSV" gesendet, das das Auftragsobjekt in das CSV-Format konvertiert. Der resultierende CSV-Inhalt wird mit einem Zuweisungsoperator (=) in der Datei "Jobs.csv" gespeichert.

Mit dem zweiten Befehl wird eine Überschrift in der Variablen "$header" gespeichert. Im Gegensatz zur Standardüberschrift wird für diese Überschrift "MoreData" statt "HasMoreData" und "Status" statt "JobStateInfo" verwendet.

Mit den nächsten drei Befehlen wird die ursprüngliche Überschrift (die zweite Zeile) aus der Datei "Jobs.csv" gelöscht.

Im sechsten Befehl wird das Cmdlet "Import-CSV" verwendet, um die Datei "Jobs.csv" zu importieren und die CSV-Zeichenfolgen in eine CSV-Version des Auftragsobjekts zu konvertieren. Die alternative Überschrift wird mithilfe des Header-Parameters gesendet. Die Ergebnisse werden in der Variablen "$j" gespeichert.

Mit dem siebten Befehl wird das Objekt in der Variablen "$j" angezeigt. Das resultierende Objekt verfügt über die MoreData-Eigenschaft und die State-Eigenschaft, wie in der Befehlsausgabe angezeigt.

# BEISPIEL 5

C:\PS>".\processes.csv" | import-csv

Beschreibung
-----------
Mit diesem Befehl werden die Objekte aus der Datei "Processes.csv" importiert.

VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113341 (möglicherweise auf Englisch)
Export-CSV
ConvertTo-CSV
ConvertFrom-CSV

C:\Windows>powershell get-help ConvertTo-CSV -full

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.

OS: Windows-10 / Windows-8.1 & 8 / Windows-7 & Vista / Windows Server 2008-2016
»»»» ColorConsole



 


... Home  
... Impressum
... ColorConsole

... CMD
... Netsh-XP
... Netsh-7
... Netsh-Vista
... Powershell









Windows 7 download: Starter, Home (Basic Premium), Professional und Win 7 Ultimate!

... facebook.de
0.125
Wie kann ich das Überwachungsprotokoll als Datei speichern, bzw. exportieren?  / Wird es unter Windows 9 keinen klassischen Desktop geben?  / Der Timer läßt sich nicht einstellen, um Standby zu verhindern?  / Desktopverknüpfung für Excel, Outlook, Word 2013 auf dem Windows-8.1/10 Desktop?  / Where is the Task Manager in Windows 8.1, 8 and 10!  / How to open Quickly  Ease of Access Center in Windows 8.1 and 10?  / Auslagerungsdatei pagefile.sys in Windows-XP anpassen!  / Windows Server 2012 direct download links and trial versions!  / Downloadadresse IE-8 Window-Server 2003 x32 und x64!  / How To Restore Windows-8.1 / 10 Files and Folders?  / Wie kann ich einen neuen Ordner erstellen per Tastaturbefehl, Hotkey, bzw. Shortcut?  / Windows 7 wechselt nicht automatisch in den Ruhezustand?  /