AW: etwas von hinten durch die Brust ins Auge, oder? ...
02.11.2023 18:12:10
Luschi
Hallo MTW,
hier mal neue Korrektur-Version:let
Quelle = Csv.Document(File.Contents(fx_Parameter()),
[Delimiter=":", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"1. Zeile weg" = Table.Skip(Quelle, 1),
//neu
#"letzte Zeile weg" = Table.RemoveLastN(#"1. Zeile weg", 1),
//dieser PQ-Schritt ist erforderlich, da beim Einlesen die Spalte 'LAST_USE' in 2 Zusatzspalten eingelesen wird
#"neue Spalte.1" = Table.AddColumn(#"letzte Zeile weg", "xx_1", each [Column1] &":" & [Column2] &":" & [Column3]),
//diese Split-Positionen wurden manuell mit NotePad++ ausgelesen
TL_1 = {0, 8, 40, 52, 64, 76, 86, 96, 106, 117, 123, 129, 138, 147, 179, 189} &
{201, 209, 214, 221, 228, 235, 243, 255, 267, 274, 281, 286, 291, 296} &
{306, 314, 321, 329, 337, 347, 356, 376, 381, 385} &
{405, 413, 421, 433, 438, 443, 459, 467, 499, 519, 531},
TrennListe = List.RemoveItems(List.Reverse(TL_1), {0}),
//statt each kann man auch (_) => schreiben, damit erklärt sich dann der '_' vor '[xx_1]'
TrennungRein = Table.AddColumn(#"neue Spalte.1", "TrennText", (_) =>
List.Accumulate(
TrennListe,
_[xx_1],
(st, cur) => Text.Insert(st, cur, "¤"))),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(TrennungRein, "TrennText",
Splitter.SplitTextByDelimiter("¤", QuoteStyle.Csv), List.Count(TrennListe)+1),
#"Entfernte Spalten" = Table.RemoveColumns(#"Spalte nach Trennzeichen teilen",
{"Column1", "Column2", "Column3", "xx_1"}),
#"Höher gestufte Header" = Table.PromoteHeaders(#"Entfernte Spalten", [PromoteAllScalars=true]),
//2 neue PQ-Schritte
#"Umbenannte Spalten" = Table.RenameColumns(#"Höher gestufte Header",{{"CR ::", "CR"}}),
#"Ersetzter Wert" = Table.ReplaceValue(#"Umbenannte Spalten"," ::","",Replacer.ReplaceText,{"CR"})
in
#"Ersetzter Wert"
Gruß von Luschi
aus klein-Paris
PS: Vor über habe ich solche strukturierten txt-Dateien per Vba in Excel eingelesen.
Frage: Welches anarchische Programm erzeugt denn heute noch solche txt-Dateien, wo der Leerzeichen-Ausgleich die Spalten auffüllt?