CSV Überschrift erste Spalte einlesen
Hi,
ich habe eine CSV von der ich gerne den Inhalt von A1(erste Zeile erste Spalte) auslesen möchte... Allerdings schein es so als wenn Powershell alphabetisch sortiert...
Hab ihr einen Tipp?
CSV:
Ausgabe:
Ich hätte jetzt "OPN" erwartet...
ich habe eine CSV von der ich gerne den Inhalt von A1(erste Zeile erste Spalte) auslesen möchte... Allerdings schein es so als wenn Powershell alphabetisch sortiert...
Hab ihr einen Tipp?
CSV:
OPN,Beschreibung ,NW_komm
M15,Ventil 15,Bypass Wasser
V18,Motor 18,Pumpe
function GetCsvAsObject($CSVPath){
if ($CSVPath)
{
(Get-Content $CSVPath)|
ForEach-Object{$_ -replace ';',","}| # simikolon ersetzen
ForEach-Object{$_ -replace '´t',","}| #Tab ersetzen
Set-Content $CSVPath
#Set-Content $CSVPath $CSVText
return Import-Csv -Path $CSVPath -Delimiter ","
}
}
Set-Location -path C:\OPN
#Array Objektname
$CSVData= GetCsvAsObject('C:\OPN\OPN.csv')
$CSVData
$Name_1_Splate = ($CSVData| Get-member -MemberType 'NoteProperty' | Select-Object -ExpandProperty 'Name')#[2]
$Name_1_Splate
Ausgabe:
OPN Beschreibung NW_komm
--- ------------- -------
M15 Ventil 15 Bypass Wasser
V18 Motor 18 Pumpe
Beschreibung
--- ------------- -------
M15 Ventil 15 Bypass Wasser
V18 Motor 18 Pumpe
Beschreibung
Ich hätte jetzt "OPN" erwartet...
Please also mark the comments that contributed to the solution of the article
Content-Key: 1329068798
Url: https://administrator.de/contentid/1329068798
Printed on: April 24, 2024 at 13:04 o'clock
3 Comments
Latest comment
Get-Member schert sich einen Dreck um die Reihenfolge ... Für die Powershell sind das nur Eigenschaften eines Objekts keine "Spalten" und da spielt die Reihenfolge eben keine Rolle.
((Get-Content 'c:\OPN\OPN.csv' -Head 1) -split '[\t;,]') -replace '"'
$Name_1_Splate
Aua, schon wieder so ein gefährlicher Vertipper, das fällt dir bald wieder auf die Füße wenn du's dann mal ausnahmsweise richtig schreiben solltest 🙈 ...
Es ist eine Split-Variante die auf Regular Expressions basiert, also bei allen Tabs, Semikolons oder Kommas einen Split macht.
und das replace?
Entfernt etwaige Anführungszeichen aus dem Namen.