Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

CSV untereinander verketten..?

Frage Entwicklung Batch & Shell

Mitglied: chrislm

chrislm (Level 1) - Jetzt verbinden

05.03.2012 um 16:48 Uhr, 3647 Aufrufe, 6 Kommentare

Hallo.
Ich habe nochmal eine Frage wegen einer Batch: Ich sortiere regelmäßig eine CSV von Hand über Openoffice. Nun dachte ich mir, das könnte doch auch über eine Batch funktionieren. Es klappt auch soweit bisauf zwei Sachen, Straße und Hausnummer sollen miteinander verkettet werden. zuerst mal wie ich mir das Gedacht habe:
for /f "tokens=1,8,1-8 delims=; " %%a in (eingang.csv) do echo ;;%%a;%%b;%%d;%%e;%%f %%g;%%c;%%h>>ausgang.txt

In der ersten Spalte brauche ich eigentlich eine fortlaufende Nummer, hier in der Zeile habe ich nur durch ein ; als Platzhalter hinterlegt.
%%f und %%g möchte ich verketten, das ist meine Straße und Hausnummer in einem Feld stehen. Leider ist die Straße text und steht noch in Anführungszeichen:; "Hauptstr" 1; gibts einen Trick wie ich die 1 noch in das Feld schmuggeln kann?
Und die Sache mit der fortlaufenden Nummer..
Mitglied: hmarkus
05.03.2012 um 17:00 Uhr
Hallo,

muss es Batch sein?

Was ich meine ist, wenn Du OpenOffice benutzt, wieso benutzt Du dann ein Batch-Skript um die Daten zu sortieren? Auch in OpenOffice sollte sich das automatisieren lassen.
Und wenn Du das nicht möchtest, dann gibt's eine große Zahl an Programmiersprachen, mit denen Du solche Sachen in wenigen Zeilen erledigen kannst (Perl, Awk, Python, Ruby, VB, ...).

Wenn's Perl sein darf, dann poste bitte mal eine Beispielzeile, damit man mal sieht was gemacht werden soll.

Markus
Bitte warten ..
Mitglied: chrislm
05.03.2012 um 17:03 Uhr
VBS würde auch gehen aber ich mag die klassischen DOS Dinger, deswegen lande ich immer zuerst hier...
Bitte warten ..
Mitglied: Skyemugen
05.03.2012 um 17:26 Uhr
Aloha,

wie wo was fortlaufende Nummer, fortlaufend pro Datei, pro Zeile, pro keine Ahnung was, pro Batchaufruf? ... EIn bisschen genauer, wenn's geht.

Was dein Straßenproblem angeht, sollte %%~f dir die Lösung bieten.

greetz André
Bitte warten ..
Mitglied: bastla
05.03.2012 um 19:41 Uhr
Hallo chrislm!

Das "Sortieren" lese ich aus Deinem Ansatz zwar noch nicht heraus, aber zumindest hinsichtlich der Nummerierung könnte ich ergänzend zu Skyes Vorschlag für die "Straße" noch etwas (Ungetestetes) beitragen:
for /f "tokens=1-9 delims=:;" %%a in ('findstr /n "^" eingang.csv') do >>ausgang.txt echo %%a;%%b;%%c;%%e;%%f;%%~g %%d;%%i
Sollten die Daten ":" enthalten, wäre eine zusätzliche Schleife erforderlich:
for /f "tokens=1* delims=:" %%x in ('findstr /n "^" eingang.csv') do for /f "tokens=1-8 delims=;" %%a in ("%%y") do >>ausgang.txt echo %%x;%%a;%%b;%%d;%%e;%%~f %%c;%%h
Grüße
bastla
Bitte warten ..
Mitglied: chrislm
06.03.2012 um 08:04 Uhr
Das ist wie immer klasse hier im Forum. Mir wurde immer sofort weitergeholfen fafür vielen dank!
Das script von Bastler läuft bisauf eine sache: Die Straße mit vollen Zahlen werden sind Perfekt. Aber die mit z.B. 9a stehen in anführungszeichen: Hauptstr "9a". aber zur Not muss ich diese dann dochnoch von Hand editieren...

Aber das mit der fortlaufenden Nummer klappt so wie ich es wollte...
Bitte warten ..
Mitglied: chrislm
06.03.2012 um 08:56 Uhr
Ich habs, hab einfach noch eine ~ dazwischen gesetzt...

vielen dank!!!!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Automatischer Datenimport aus csv Datei in Access DB - Wo zu ändern? (2)

Frage von Mejestic12 zum Thema Microsoft Office ...

Batch & Shell
gelöst Powershell xml zu csv (2)

Frage von GeoSem zum Thema Batch & Shell ...

Batch & Shell
gelöst Werte aus CSV in TXT - Powershell (20)

Frage von Komoran12 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...