Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Warum bekomme ich als letzte Zeile immer eine Leerzeile?

$
0
0

Hallo,

ich habe mal wieder ein kleines Problem. Ich lese eine csv Datei ein, und will nur bestimmte Spalten in eine neue ausgeben. Das klappt einwandfrei,

nur dass ich am Ende der Datei immer eine leerzeile dazu erhalte, habe schon alles möglich versucht, auch diese axtra zu löschen, es geht aber nicht  ....:_(

Das mit der If Abfrage ist auch so ein Versuch ...

Danke für Eure hilfe

# Patdaten und Blutwerte 
$file = Get-Content "D:\BM-3N_Export_aus_m4\Beispielprozess_BM_3N_Medikamenteneinnahme\Medikamenteneinnahme_SAS_Names.csv"
$delimiter = "|" 
$labwerte = @()
#Zuerst die Labwerte
#Einlesen der Spaltenüberschriften
$labwerte = ($file[0].split($delimiter) | Select-Object  -First 4 ) -Join "|"
$labwerte += "|"
$labwerte += ($file[0].split($delimiter) | Select-Object -Last 26 ) -Join "|"
$labwerte += "`n"
#Holen der Werte
for ($i = 1; $i -lt $file.length; $i++){
    #prüfen: Hast du die letzte Zeile eingelesen: Nein--> dann mach einen Zeilenumbruch
    if ($i -ne ($file.length)){ 
    $labwerte +=  ($file[$i].split($delimiter) | Select-Object -First 4) -Join "|"
    $labwerte += "|"
    $labwerte += ($file[$i].split($delimiter) | Select-Object -Last 26 ) -Join "|"
    $labwerte += "`n"
    #prüfen: Hast du die letzte Zeile eingelesen: JA--> dann mach Keinen Zeilenumbruch
    }elseif ($i -eq ($file.length)){
    $labwerte +=  ($file[$i].split($delimiter) | Select-Object -First 4) -Join "|"
    $labwerte += "|"
    $labwerte += ($file[$i].split($delimiter) | Select-Object -Last 26 ) -Join "|"
}
$labwerte | Out-File D:\BM-3N_Export_aus_m4\Beispielprozess_BM_3N_Medikamenteneinnahme\Medikamenteneinnahme_ABI_IMT_SAS_Names.csv


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>