Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text Datei über "Daten abrufen" in Excel 2019 laden

Text Datei über "Daten abrufen" in Excel 2019 laden
01.11.2023 14:18:21
MTW
Hallo Excel Profis,

ich versuche Text Dateien über das Modul "Daten abrufen" in Excel zu laden. Leider kriege ich es nicht hin, mit dem neuen Import Editor und Power Query Editor die Daten richtig zu formatieren. Auch der Versuch mit dem alten Legacy Assistenten ist gescheitert. Mit dem Legacy Assistenten kann ich die Daten zwar perfekt formatieren und importieren. Leider startet danach Excel mit dem Fehler "Wir haben ein Problem bei einigen Inhalten in....".

Hat jemand eine Idee, wie ich die Daten mit dem neuen Daten Modul und Power Query Editor laden und formatieren kann oder den Fehler mit dem Legacy Assistenten vermeiden kann?

Danke

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auch in XL2016 mit PQ scheinbar nicht möglich ...
01.11.2023 15:27:21
neopa C
Hallo,

... in XL2010/2016 mit "Textkonvertierung-Assitent" hatte ich keine Probleme (für Dateiursprung: MS-DOS PC-8).
Jedoch ist es mir in meiner XL2016 Version auch nicht gelungen, die Datei mit PQ einzuladen. Deshalb hab ich den thread offen gesetzt.

Gruß Werner
.. , - ...
AW: auch in XL2016 mit PQ scheinbar nicht möglich ...
01.11.2023 15:59:50
MTW
Wenn die Datei in XL2016 mit dem Textkonvertierungs Assistent importiert wird und danach abgespeichert wird. Gibt Excel bei einem Neustart keinen Fehler aus bei dir?

Grüsse MTW
Anzeige
AW: eben nochmal getestet: keine Fehelermeldung owT
01.11.2023 17:37:06
neopa C
Gruß Werner
.. , - ...
AW: eben nochmal getestet: keine Fehelermeldung owT
01.11.2023 18:56:32
MTW
Nun auch noch Zuhause auf aktuellster Excel 365 getestet. Auch hier gleiche Fehlermeldung beim öffnen der Datei.

- Daten
- Daten abrufen
- Legacy Assistent
- Aus Text (Legacy)
- Datei auwählen / Importieren
- Text Konvertierungs-Assistent gemäss Hersteller (https://www.klartext-portal.de/fileadmin/solutions/Anlagen_FAQ/Tabellen_der_Steuerung_in_Excel_oeffnen.pdf)
- Fertigstellen
- Daten importieren (Tabelle, Bestehendes Arbeitsblatt, Dem Datenmodel diese Daten hinzufügen)
- Ok

-Datei speichern
-Excel schliessen
-Excel öffnen und Datei auswählen

-Fehler ---Wir haben ein Problem bei einigen Inhalten in "xxx.xlsx" erkannt. Sollen wir so viel wie möglich wieder herstellen. Wenn Sie der Quelle dieser Arbeitsmappe vertrauen klicken sie auf Ja.

Komisch das dieser Fehler in Excel 2016 nicht auftaucht. Vielleicht die letzte Fehlerfrei Version mit dem Legacy Assistent.

Grüsse
Anzeige
AW: kann keine Erklärung dazu geben ...
01.11.2023 19:31:12
neopa C
Hallo MTW,

... ich hab folgende Datei erzeugen und auch in XL aktivieren können: https://www.herber.de/bbs/user/163964.xlsx. War diese Deine Zielstellung?


Gruß Werner
.. , - ...
AW: kann keine Erklärung dazu geben ...
01.11.2023 20:30:05
MTW
Hallo Werner,
genau so sollte die Tabelle aussehen. Perfekt wäre, diese Formatierung mit Power Query hinzubekommen, oder wenn nicht anders möglich mit dem Legacy Assistent aber ohne Fehlermeldung. Diese Fehlermeldung wäre in der Anwendung mit mehreren Benutzern nicht zumutbar.

Gruss und Danke
MTW
AW: PQ-Lösung gesucht! Stelle den thread offen owT
02.11.2023 07:59:05
neopa C
Gruß Werner
.. , - ...
Anzeige
AW: PQ-Lösung gesucht! Stelle den thread offen owT
02.11.2023 11:27:39
MTW
Hallo Luschi,

vielen Dank für den Entwurf. Eigentlich ist der Entwurf auch schon fast die Lösung meines Anliegens. Mein Problem ist, ich habe absolut keine Ahnung von Power Query. (Deshalb mein Versuch mit dem Legacy Assistenten)

Ich scheitere nur schon daran, die Daten mit den richtigen Einstellungen in den Power Query Editor zu kriegen.
Was muss ich bei den Einstellungen "Dateiursprung, Trennzeichen, Datentyperkennung" auswählen?

Gibt es dazu eine Wegleitung, wie du das angegangen bist?
Ich versuche mich in den Link von User Elex einzulesen.

Danke

Anzeige
AW: PQ-Lösung gesucht! Stelle den thread offen owT
02.11.2023 13:27:14
Luschi
Hallo MTW,

hier eine kleine Nachbearbeitung:
- statt: List.Count(TrennListe)+1
- so     : List.Count(TrennListe)+1
Dadurch fallen 2 nachfolgende PQ-Schritte weg: https://www.herber.de/bbs/user/163985.xlsx

Gruß von Luschi
aus klein-Paris

PS: die Split-Positionen für die Trennliste habe in in NotePad++ ausgezählt!"
AW: etwas von hinten durch die Brust ins Auge, oder? ...
02.11.2023 14:46:34
neopa C
Hallo Luschi,

... Deine Lösung ist toll. Möchte aber nicht wissen, wieviel Zeit selbst Du dafür investierst hat. Darauf wäre ich auch mit noch so viel Zeit nie gekommen.

Ich entnehme Deinen Beitrag aber auch, daß ein direktes einlesen der Textdatei mit PQ offensichtlich nicht möglich war/ist, oder? Wohl auch nicht wenigstens analog wie es mit dem Textkonvertierungs-Assistenten in XL2010 oder XL2016 möglich ist? Geschuldet ist das sicherlich, der sehr spez. Datenstruktur und dessen inhomogenen Daten bereits in den Feldbezeichnern.

Zu Deiner Aussage:
- statt: List.Count(TrennListe)+1
- so : List.Count(TrennListe)+1


meinst Du wohl:
- statt: List.Max(TrennListe)+1 ... und die vorherige Zusammenfassung der TL_1 ... TL_5 zu nun nur noch TL_1
Oder?

Gruß Werner
.. , - ...
Anzeige
AW: etwas von hinten durch die Brust ins Auge, oder? ...
02.11.2023 15:25:47
MTW
Hallo Luschi,

ich habe es geschafft, deine Lösung nachzubauen. Unglaublich kompliziert für mich aber es funktioniert. Vielen Dank. In der Ansicht "Abfragen und Verbindung wird noch 1 Fehler angezeigt.

Fehlercode im PQ Editor:

Typenkonflikte gefunden = let
Hinzugefügter Index = Table.AddIndexColumn(#"Typenkonflikte gefunden.", "Zeilennummer" ,1)
Beibehaltene Fehler = Table.SelectRowsWithErrors(#"Hinzugefügter Index", {"T ", "NAME ", "L ", "R ", "R2 ", "DL ", "DR ", "DR2 ", "TL RT ", "TIME1 ", "TIME2 ", "CUR_TIME ", "TYP ", "DOC ", "PLC ", "LCUTS ", "ANGLE ", "CUT ", "LTOL ", "RTOL ", "R2TOL ", "DIRECT ", "R-OFFS ", "L-OFFS ", "LBREAK ", "RBREAK ", "TM ", "TMS ", "TT ", "NMAX ", "LIFTOFF ", "TP_NO ", "T-ANGLE ", "PITCH ", "AFC ", "AFC-LOAD ", "LAST_USE ", "PTYP ", "ACC ", "KINEMATIC ", "TORQUE ", "PLC-VAL ", "P1 ", "BK1 ", "BK2 ", "DR2TABLE ", "OVRTIME ", "TMAT ", "CUTDATA ", "CL ", "CR ::"})

Neu angeordnete Spalten = Table.ReorderColumns(#"Beibehaltene Fehler",


Wie genau hast du mit Notepad+ die Split Positionen ausgezählt. Gib es da eine Funktion. Oder machst du das von Hand?

Ich hoffe, das Microsoft irgendwann die Funktionen vom Legacy Assistenten in die PQ Import Funktion integriert. Wie es scheint, funktioniert der Legacy Assistent für mich ab Version 2019 nicht mehr. Für den normalen Benutzer ist das unglaublich schwierig.

Grüsse und vielen Dank
MTW


Anzeige
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?
Anzeige
AW: etwas von hinten durch die Brust ins Auge, oder? ...
02.11.2023 20:44:14
MTW
Hallo Luschi,

nochmals vielen Dank für deine Hilfe. Ich werde Morgen deinen neuen Code ausprobieren.
Das anarchische Programm, welches diese txt-Datei erstellt, stammt vom führenden deutschen CNC-Steuerung Hersteller.
Ich denke, das hat mit der Kompatibilität mit älteren Steuerungen zu tun. Sicher bin ich mir aber auch nicht.
Ich ziehe die Datei mit einem Makro von der Steuerung in einen Ordner. Jedes mal, wenn das Makro aktiviert wird, wird die Datei mit den aktuellen Daten der Steuerung überschrieben, sprich die Daten in Excel aktualisiert.
Das funktioniert jetzt dank deiner Hilfe schon ganz gut.

Grüsse MTW
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige