Meine CSV-Dateien haben wie diese keine Kopf- und Multi-Line-Einträge:Wie kann ich die Anzahl der CSV-Spalten zählen, wenn die Datei mehrzeilige Daten und keinen Header
11;"multi line
col12";13;foobar;foobar
21;22;23;24;25
Und ich möchte die Anzahl zählen von Spalten. Also 5 in diesem Beispiel. Wie mache ich das?
Was ich versuche:
Import-CSV
funktioniert nicht ohne die Header-Parameter durch Einträge duplizieren in der ersten Zeile.
(Import-Csv .\bad.csv -Delimiter ";" | get-member -type NoteProperty).count
Durch Hinzufügen eines Header-Parameters wird die Anzahl verzerrt.
Ich musste das Lesen der Datei manuell über Get-Content abbrechen, weil ich das Parsing manuell durchführen musste. Escape-Zeichen und mehrzeilige Einträge ...
Meine Version von PowerShell ist 3 und ich muss später mein Skript auf Version 2 portieren.
Wie unterscheiden Sie den Zeilenumbruch in AV Aus dem CSV-Linebreak? – sodawillow
CSV-Feldnamen sollen eindeutig sein. Ich schlage vor, Sie beheben die Ursache (Ihre Eingabedaten), anstatt mit den Symptomen umzugehen. –
@Matt Multi-Zeilen-CSV sind umstritten, werden aber von Import-Csv unterstützt und ich kann sie nicht vermeiden. http: //www.heikniemi.net/hardcoded/2010/01/powershell-basics-1-lesen-und-parsen-csv/ –