| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: CSV-Daten einlesen (1298 / mal gelesen)
|
cm-Zeichner Mitglied Vermessungstechniker
 
 Beiträge: 162 Registriert: 23.07.2009 Win7Pro 64Bit, AutoCAD Map3D 2014 64Bit
|
erstellt am: 15. Feb. 2017 11:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, habe eine CSV Datei mit folgendem Inhalt: ;346-60A1;;33585.11;321524.20;;;4091248.989;1233855.453;4719356.613; 05003;D1;;33216.26;321493.50;;;4091347.706;1233499.758;4719304.849; 05003;D2;;33236.40;321482.27;;;4091349.987;1233521.410;4719297.263; usw. möchte den Inhalt der einzelnen Zeilen nun "zerlegen" um diesen verschiedenen Variablen zuzuweisen. für die erste Zeile würde das bedeuten: VAR1 = leer VAR2 = 346-60A1 VAR3 = leer VAR4 = 33585.11 usw. für die zweite Zeile: VAR1 = 05003 VAR2 = D1 VAR3 = leer VAR4 = 33216.26 usw. Die Zeile auslesen schaffe ich noch (setq zeile (read-line F)) (print zeile) steht dann auch schön am Bildschirm nur beim Zerlegen javascript:InsertSMI(' %20'); Hat wer eine AUTOLISP-Lösung. DANKE ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 15. Feb. 2017 11:14 <-- editieren / zitieren --> Unities abgeben:          Nur für cm-Zeichner
(defun DT:STR-DIVS(STRING SEPARATOR / POS OFFSET LISTE) (if(and(=(type STRING) 'STR)(=(type SEPARATOR) 'STR)) (progn (setq POS (vl-string-search SEPARATOR STRING)) (setq OFFSET (1+(strlen SEPARATOR))) (while POS (setq LISTE (cons (substr STRING 1 POS) LISTE) STRING (substr string (+ POS OFFSET)) POS (vl-string-search SEPARATOR STRING) ) ) (reverse (cons STRING LISTE)) ) ) (DT:STR-DIVS ";346-60A1;;33585.11;321524.20;;;4091248.989;1233855.453;4719356.613;" ";") liefert dann ("" "346-60A1" "" "33585.11" "321524.20" "" "" "4091248.989" "1233855.453" "4719356.613" "") oder gleich sowas (mapcar 'set '(VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7) (DT:STR-DIVS ";346-60A1;;33585.11;321524.20;;;4091248.989;1233855.453;4719356.613;" ";") ) ------------------ Also ich finde Unities gut ... und andere sicher auch ---------------------------------------
- Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cm-Zeichner Mitglied Vermessungstechniker
 
 Beiträge: 162 Registriert: 23.07.2009 Win7Pro 64Bit, AutoCAD Map3D 2014 64Bit
|
erstellt am: 15. Feb. 2017 11:37 <-- editieren / zitieren --> Unities abgeben:         
Danke für die schnelle Antwort, aber ist für mich noch zu hoch. Könntest Du es bitte auf mein Beispiel UMLEGEN. Hab den Wert einer Zeile in der Variablen ZEILE gespeichert und das Trennzeichen der einzelnen Felder innerhalb der Zeile ist immer ein ";" Dann rufe ich die zusätzliche Funktion "csv_zerlegen_ap" auf wo die "Zerlegung" und Zuweisung zu den einzelnen Variablen erfolgen soll. Das ginge irgendwie mit dem von Dir unten angeführten mapcar (glaub ich). Nachdem die Werte (auch "" möglich) den einzelnen Variablen zugewiesen wurden kehre ich wieder zum "Ausgansprogramm" zurück, mach dann dort was mit den Variablen, lese die nächste Zeile ein und starte von neuem. Wie wäre Dein Code da zu ändern? Danke nochmals. ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
   
 Beiträge: 1151 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 15. Feb. 2017 12:26 <-- editieren / zitieren --> Unities abgeben:          Nur für cm-Zeichner
|
cm-Zeichner Mitglied Vermessungstechniker
 
 Beiträge: 162 Registriert: 23.07.2009 Win7Pro 64Bit, AutoCAD Map3D 2014 64Bit
|
erstellt am: 15. Feb. 2017 18:05 <-- editieren / zitieren --> Unities abgeben:         
|

| Anzeige: | Infos zum Werbeplatz >> | isaleCAD CAD APP für Tiefbau, Umwelt Since 1985, AnkiSOFT Software developes software to design infrastructure projects.
isaleCAD has been developed for Water Transmission Line Design. It is for Drawing / Modelling / Planning / Design / Analyze the water transmission line.
The software works under AutoCAD or ZWCAD.
|
|
Peter2 Ehrenmitglied V.I.P. h.c.

 Beiträge: 3882 Registriert: 15.10.2003 Win 10 bzw. 11 / 64 Pro AutoCAD MAP 3D 2023 BricsCAD 24
|
erstellt am: 15. Feb. 2017 20:15 <-- editieren / zitieren --> Unities abgeben:          Nur für cm-Zeichner
|