Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mittels batch eine texttabelle in csv format überführen und dabei einträge löschen

Frage Entwicklung Batch & Shell

Mitglied: cherti

cherti (Level 1) - Jetzt verbinden

25.11.2009, aktualisiert 12:30 Uhr, 6695 Aufrufe, 6 Kommentare

Ich möchte im Rahmen einer Bachelor Thesis die Konvertierung eines Datensatzes automatisieren. Die Daten werden in CATIA als *.txt abgespeichert und müssten dann gefiltert und als CSV abgespeichert werden. Idealerweise würde ich es gerne mit einer Batch Datei lösen - meine Erfahrungen diesbezüglich sind jedoch gleich Null (d.h. ich les mich nun seit etwa einer Woche durch dieses und diverse andere Foren, finde viele Ansätze aber keine passende Gesamtlösung)

Hallo miteinander,

wie im Vorwort bereits erwähnt, möchte ich im Rahemn einer Bachelor Thesis die Konvertierung einer Texttabelle zur CSV-Tabelle automatisieren.

Die Tabelle im .*txt Format und erstreckt sich über 46 Zeilen. Die Datei wird aus CATIA ausgegeben und enthält u.a. leider auch "unnütze Informationen".

Und mein Problem hat sich soeben verinfacht.
Die Tabelle sieht nun nurnoch wie folgt aus:

Ereignisnummer Befehlswert Sensoren Wert Einheit Kommentar
0 0 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge 0 Millimeter
1 0,355556 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge -0,000201002 Millimeter
2 0,711111 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge -0,00158531 Millimeter
3 1,06667 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge -0,00415748 Millimeter
4 1,42222 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge -0,007926 Millimeter
5 1,77778 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge -0,0129036 Millimeter
6 2,13333 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge -0,0191072 Millimeter
7 2,48889 Abtastmechanismus\Verbindungen\Zylindrisch.4\Länge -0,0265589 Millimeter

Ich bräuchte nun einen Befehl um die erste Zeile zu löschen und um aus den weiteren Zeilen die Spalten 2 und 4 zu nehmen und mit einem Semikolon zu tennen (der Rest soll ebenfalls übersprungen / gelöscht werden)

also quasi in die Form zu übertragen.....

0 ; 0
0,355556 ; -0,000201002
0,711111 ; -0,00158531
1,06667 ; -0,00415748
1,42222 ; -0,007926
1,77778 ; -0,0129036
2,13333 ; -0,0191072
2,48889 ; -0,0265589


Ich komm bisher leider nur so weit, jeweils eine Spalte einzeln auszulesen mittels

@echo off & setlocal enabledelayedexpansion

)
set "Alt=%CD%\Messwerte2.txt"
set "Neu=%CD%\Messwerte2.csv"

if exist "%Neu%" del "%Neu%"
for /f "usebackq tokens=2 delims=< >" %%i in ("%Alt%") do (
set "A=%%i"
>>"%Neu%" echo !A: =!
)




Vielleicht kann mir ja einer von euch beim Rest behilflich sein.


Danke im Voraus und freundliche Grüße
Joachim
Mitglied: miniversum
25.11.2009 um 12:46 Uhr
Warum nicht einfach so? (ungetestet):
01.
@echo off 
02.
set "Alt=%CD%\Messwerte2.txt" 
03.
set "Neu=%CD%\Messwerte2.csv" 
04.
 
05.
if exist "%Neu%" del "%Neu%" 
06.
for /f "skip=1 tokens=2,4 delims= " %%i in ("%Alt%") do >>"%Neu%" echo %%i ; %%j
was das skip und tokens bewirkt kansnt du ind er hilfe zum For Befehl nachlesen
Bitte warten ..
Mitglied: cherti
25.11.2009 um 13:49 Uhr
da tut sich leider nix

....mindestensdreißigzeichenkommentar
Bitte warten ..
Mitglied: miniversum
25.11.2009 um 16:14 Uhr
Ändere mal beim for das
("%Alt%") do
in
('type "%Alt%"') do
Bitte warten ..
Mitglied: Biber
25.11.2009 um 18:10 Uhr
Moin cherti,

willkommen im Forum.

Ich weiss nicht so genau, was die Unterschiede zwischen Bachelor und Bätcher sein mögen, aber...

Bei den Rumbätschern (zu denen ich mich auch zähle) gilt: "kompliziert wird es irgendwann von alleine."

Deshalb mach da nicht so einen pseudokomplexen Aufriss mit %Neu%, %Alt% und DelayedExpansion.

Am CMD-Prompt würde reichen (">" nicht mit eingeben, ist mein Prompt):
>for /f "skip=1 tokens=2,4 delims= " %i in (e:\schnipsel\messwerte2.txt) do @echo %i;%j; 
0;0; 
0,355556;-0,000201002; 
0,711111;-0,00158531; 
1,06667;-0,00415748; 
1,42222;-0,007926; 
1,77778;-0,0129036; 
2,13333;-0,0191072; 
2,48889;-0,0265589;
Im Batch müssten die einfachen %i und %j zu %%i und %%j werden und am Ende noch eine Umleitung ( >>pfad\Messwerte2.csv) angehängt werden.

Das war's aber auch.

Grüße
Biber
Bitte warten ..
Mitglied: cherti
27.11.2009 um 09:56 Uhr
Nun, der Bätcher kennt sich im Batchen aus, der Bachelor in in meinem Fall in Mechatronik, sollte er zumindest ;)

Danke für eure Hilfestellungen, habs nun geschafft. Batchfile sieht nun wie folgt aus:

01.
@echo off & setlocal enabledelayedexpansion  
02.
   
03.
04.
set "Alt=%CD%\Messwerte2.txt" 
05.
set "Neu=%CD%\Messwerte2.csv" 
06.
 
07.
 
08.
if exist "%Neu%" del "%Neu%" 
09.
 
10.
for /f "usebackq skip=1 tokens=2,4 delims=<	>" %%i in ("%Alt%") do @echo %%i;%%j >>"%Neu%"
Bitte warten ..
Mitglied: miniversum
27.11.2009 um 12:46 Uhr
Wenn du es nicht noch für was anderes brauchst, kannst du:
in Zeile 1: "& setlocal enabledelayedexpansion" weglasen
in Zeile 3: ")" weglasen
in Zeile 10: "usebackq" weglasen und bei delims die "<>". Leerzeichen brauchst du dann auch nur eines.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch um erste Zeile einer CSV zu löschen
gelöst Frage von chris1987.1Batch & Shell6 Kommentare

Hallo, im Rahmen meiner Masterarbeit muss ich eine Vielzahl von csv Dateien untersuchen. Hierbei muss ich einige dieser Dateien ...

Batch & Shell
Batch um Regestry Einträge zu finden und zu löschen
gelöst Frage von zeroblue2005Batch & Shell15 Kommentare

Hallo Zusammen, ich suche eine Möglichkeit einen Standardwert in der Regestry zu finden und dann diese alle zu löschen ...

Microsoft Office
Outlook-CSV-Format Kodierung gesucht
Frage von Tomschaf91Microsoft Office2 Kommentare

Guten Morgen zusammen, für den Import von Kontakten in Office 365 (Outlook) muss eine csv-Datei hochgeladen werden. Ich habe ...

Batch & Shell
Per Batch erste Zeile aus CSV Dateien löschen
gelöst Frage von sirOneBatch & Shell15 Kommentare

Hallo zusammen! Ich suche ein Batch Script, mit dem ich aus sämtlichen CSV Dateien in einem Unterordner die erste ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 5 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 5 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 8 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 13 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...