| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | HPE ProLiant Summer Academy 2025 in Linz, eine Veranstaltung am 11.09.2025
|
Autor
|
Thema: CSV-Datei mit TAB-Zeichen (1693 mal gelesen)
|
baumgartner Mitglied Dipl.-Ing. Maschinenbau
  
 Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 02. Dez. 2006 14:42 <-- editieren / zitieren --> Unities abgeben:         
hallo zusammen, muss mit ME10 eine CSV-Datei erstellen. Das Trennzeichen soll das TAB-Zeichen (CHR 9) sein. Klappt !!! Das Ergebnis kommt als CSV-Datei zurück und jetzt habe ich kein TAB-Zeichen mehr. Es sind lediglich einige Leerzeichen. Wenn ich die o.g. von ME10 erzeugte CSV-Datei mit den TAB-Zeichen wieder einlese, dann sehe ich nicht mal mehr die selbst erzeugten TAB-Zeichen. Ich könnte ja die erhaltenen Leerzeichen zählen, aber das ist mir zu unsicher. Wer weiss Rat ??? ------------------ Grüsse aus dem Schwarzwald  www.Andreas-Baumgartner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 02. Dez. 2006 18:37 <-- editieren / zitieren --> Unities abgeben:          Nur für baumgartner
Bin nicht ganz sicher, ob das richtig verstehe, daher zur Sicherheit die vergewissernde Nachfrage: Du schreibst mit ME10 eine CSV-Datei mit dem Tabulatur als Trennzeichen. Wer soll denn die CSV-Datei konsumieren, welche Software ist denn der Empfaenger? Danke Claus
------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
baumgartner Mitglied Dipl.-Ing. Maschinenbau
  
 Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 02. Dez. 2006 21:11 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Du schreibst mit ME10 eine CSV-Datei mit dem Tabulatur als Trennzeichen. Wer soll denn die CSV-Datei konsumieren, welche Software ist denn der Empfaenger?
ein Skript einer Datenbank wird meine Ergebnisse einlesen, verarbeiten und mir ergänzende Daten in einer neuen CSV-Datei zurückgeben. Mein Kunde hat nun mal das Format festgelegt. Da gibt es nicht viel zu rütteln. Habe mit "filetran" schon etwas experimentiert. Ist der erste Test doch immer das Schreiben von Daten und das Einlesen der eigenen Daten. Und wenn das schon scheitert? Wenn ME10 seine eigenen Daten nicht interpretieren kann...
------------------ Grüsse aus dem Schwarzwald  www.Andreas-Baumgartner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
 
 Beiträge: 482 Registriert: 02.07.2001 OSDD 8.7 - 13.20 ; OSDM 13.00
|
erstellt am: 04. Dez. 2006 07:48 <-- editieren / zitieren --> Unities abgeben:          Nur für baumgartner
Morgen! Ich habs grad getestet - es geht schon, wenn man das TAB als CHR-Sequenz schreibt: Code: OPEN_OUTFILE 6 "tabtest.txt" WRITE_FILE 6 ("123" + CHR 9 + "456") CLOSE_FILE 6
Man darf dann bloss diese Datei nicht mit dem (klassischen) ME10-Editor öffnen und wieder speichern - der ersetzt nämlich alle TABs durch Leerzeichen.Gruß aus Österreich, Hannes ------------------ und mia haun jetzt in huad drauf und mia dringan no a bia und mogst du söwa a nu ans sogs eam owa ned mia Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
baumgartner Mitglied Dipl.-Ing. Maschinenbau
  
 Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 04. Dez. 2006 09:41 <-- editieren / zitieren --> Unities abgeben:         
danke Dir Hannes, nur klappt es so nicht: Code: OPEN_OUTFILE 6 "tabtest.txt" WRITE_FILE 6 ("123" + CHR 9 + "456") CLOSE_FILE 6
einverstanden, nur wenn ich genau diese Datei wieder einlese, dann ...
Code: OPEN_INFILE 7 "tabtest.txt" READ_FILE 7 zeile IF (POS zeile (CHR 9) > 0) display "hurra, TAB gefunden" END_IF
... ja dann findet das Makro niemals einen TAB in der eingelesenen Datei.
------------------ Grüsse aus dem Schwarzwald  www.Andreas-Baumgartner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 04. Dez. 2006 10:03 <-- editieren / zitieren --> Unities abgeben:          Nur für baumgartner
|
H.annes Mitglied CAD-Pfriemler
 
 Beiträge: 482 Registriert: 02.07.2001 OSDD 8.7 - 13.20 ; OSDM 13.00
|
erstellt am: 04. Dez. 2006 10:15 <-- editieren / zitieren --> Unities abgeben:          Nur für baumgartner
Ok - das Problem ist, das du in ME10 eine Datei mit TABs lesen musst - hab ich falsch verstanden, so fast mitten in der Nacht  Da seh ich nur folgende workarounds: ** Leerzeilen zählen (blöde Lösung, aber wenns sonst nicht geht) ** im Excel statt des TABs ein anderes Zeichen nehmen (falls das geht) ** ein externes Programm vorschalten, dass jedes TAB in ein anderes Zeichen umwandelt (Ach! In UX wär das schön gegangen!) Diese blöde ME10_Eigenheit, Tabs durch Leerzeichen zu ersetzen, hat mich auch schon geärgert ... wär wirklich was für den Support. Hannes
------------------ und mia haun jetzt in huad drauf und mia dringan no a bia und mogst du söwa a nu ans sogs eam owa ned mia Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 04. Dez. 2006 10:22 <-- editieren / zitieren --> Unities abgeben:          Nur für baumgartner
Idee: Code:
OPEN_INFILE 7 "| tr '\t' ',' <tabtest.txt" READ_FILE 7 zeile CLOSE_FILE 7
Das heisst, beim Einlesen laesst man die Datei zunaechst durch einen Filter laufen, der das TAB-Zeichen durch etwas anderes (hier: Komma) ersetzt. Beim Rausschreiben muss man's dann umgekehrt machen. Das funktioniert ziemlich gut - allerdings ist 'tr' kein DOS-Kommando, sondern (bei mir) Bestandteil der Cygwin-Umgebung. Ich bin aber optimistisch, dass man so eine Zeichenersetzung auch ueber ein Batchfile hinbekommt. Oder man schreibt sich einen Zehnzeiler in C und liefert das mit dem Makro aus. Oder man benutzt ein wsh-Skript wie dieses:
Code:
dim strLine do while not WScript.StdIn.AtEndOfStream strLine = WScript.StdIn.ReadLine WScript.Echo(Replace(strLine, chr(9), ",")) loop
Claus ------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/
[Diese Nachricht wurde von clausb am 04. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
karl-josef_wernet Mitglied SysAdmin CAD-ME im Sabbatical
   
 Beiträge: 1046 Registriert: 27.11.2000 PTC-Direct-Modeling/Drafting 19.0 Classic/Tablett DELL T5820, Precision 7760 Workmanager/Model-/Drawing-Manager WIN10 PE8.0
|
erstellt am: 05. Dez. 2006 00:22 <-- editieren / zitieren --> Unities abgeben:          Nur für baumgartner
Hi, bis Me10 8.7 gab es ein Tool namens "filetran.exe" Vielleicht kann Dir das bei Deinem Übersetzungsproblem helfen. mit der Option /F<table> kann eine eigene Transformationstabelle verwendet werden. ------------------ kjw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |