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 Inhalt aus csv Spalten aufschluesseln

Mitglied: Arafat

Arafat (Level 1) - Jetzt verbinden

19.06.2008, aktualisiert 20.06.2008, 3762 Aufrufe, 6 Kommentare

Folgendes kleines Problem:

Ich habe eine csv Datei mit Inhalt:

"Text " "Zahl" "Zahlen"
"Nummer1" "01" "011 012 013"
"Nummer2" "02" "022 023 024 025"

ich möchte diese csv umformen in:


"Text " "Zahl" "Zahlen1" "Zahlen2" "Zahlen3" "Zahlen4"
"Nummer1" "01" "011" "012" "013" ""
"Nummer2" "02" "022" 023" 024" "025"

Fragt sich jetzt nur ob es dafür ein kleines Script gibt?

Vielen Dank schon mal im voraus.

Gruß Markus
Mitglied: bastla
19.06.2008 um 13:56 Uhr
Hallo Arafat!

Etwa so:
01.
@echo off & setlocal 
02.
echo "Text " "Zahl" "Zahlen1" "Zahlen2" "Zahlen3" "Zahlen4">D:\Ziel.csv 
03.
for /f "skip=1 tokens=1,2*" %%i in (D:\Quell.csv) do for /f "tokens=1-4" %%a in (%%k) do @echo %%i %%j "%%a" "%%b" "%%c" "%%d">>D:\Ziel.csv
Grüße
bastla
Bitte warten ..
Mitglied: Arafat
19.06.2008 um 14:30 Uhr
das klappt!

was aber wenn

"Text " "Zahl" "Zahlen" "Name"
"Nummer1" "01" "011 012 013" "Peter"
"Nummer2" "02" "022 023 024 025" "Micha"
"Nummer3" "03" "033 034" "Seb"

also die zu teilende Zelle von der Größe nicht bekannt ist udn danach noch weiter "einzel Zellen" kommen?

Danke aber trotzdem!!!!
Bitte warten ..
Mitglied: bastla
19.06.2008 um 16:49 Uhr
Hallo Arafat!

Soferne die Maximalanzahl an aus der Zerlegung des "Spezialfeldes" entstehenden Feldern bekannt ist, etwa so:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Quell.csv" 
03.
set "Ziel=D:\Ziel.csv" 
04.
set /a FeldNr=3 
05.
 
06.
echo "Text " "Zahl" "Zahlen1" "Zahlen2" "Zahlen3" "Zahlen4" "Name">"%Ziel%" 
07.
for /f "usebackq skip=1 delims=" %%i in ("%Quelle%") do set "Zeile=%%i" & call :ProcessLine 
08.
goto :eof 
09.
 
10.
:ProcessLine 
11.
set /a Nr=1 
12.
set ZeileNeu= 
13.
for %%a in (%Zeile%) do call :ProcessField %%a 
14.
echo %ZeileNeu:~1%>>"%Ziel%" 
15.
goto :eof 
16.
 
17.
:ProcessField 
18.
set Feld=%1 
19.
if %Nr% neq %FeldNr% goto :Hinzu 
20.
for /f "tokens=1-4" %%a in (%1) do set "Feld="%%a" "%%b" "%%c" "%%d"" 
21.
 
22.
:Hinzu 
23.
set "ZeileNeu=%ZeileNeu% %Feld%" 
24.
set /a Nr+=1 
25.
goto :eof
Als %FeldNr% ist das weiter zu zerlegende Feld (im Beispiel also "Zahlen") anzugeben. Die Anzahl der Teile wird durch "tokens=1-4" und die Verwendung von "%%a" bis "%%d" im Programmteil ":ProcessField" festgelegt.

Grüße
bastla
Bitte warten ..
Mitglied: Arafat
20.06.2008 um 12:17 Uhr
Hallo bastla,

das Skript funktioniert ganz gut - nur schrieb er mir nur die erste Zeile in die Datei (Zeile 06) - alle weiter werden auf der console ausgegeben.

DAnke für deine Hilfe

Gruß Markus
Bitte warten ..
Mitglied: bastla
20.06.2008 um 14:07 Uhr
Hallo Arafat!

... alle weiter werden auf der console ausgegeben.
Kann ich mir nicht erklären, da die Zieldatei ja als Variable, welche sich nach der Zeile 3 nicht mehr ändert, angegeben ist - wenn also in Zeile 06 in die Datei geschrieben wird, müsste das auch Zeile 14 tun ...

Anyhow, versuch es mit dieser Zeile 14:
01.
>>"%Ziel%" echo %ZeileNeu:~1%
Grüße
bastla
Bitte warten ..
Mitglied: Arafat
20.06.2008 um 15:52 Uhr
Yes!

das ist es!

Vielen Dank!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Auslesen bestimmter Spalten aus csv
gelöst Frage von Berti82Batch & Shell6 Kommentare

Hallo, Ich bekomme regelmäßig csv-Dateien mit ca. 77 Spalten und prinzipiell unbegrenzten Zeilen. Diese muss ich eindampfen auf 5 ...

Datenbanken

SQL: Inhalte aus einer Spalte mit den Inhalten aus mehreren Spalten einer zweiten Tabelle vergleichen

gelöst Frage von sqlbeginnerDatenbanken4 Kommentare

Guten Tag ich habe folgende Fragen Frage 1: Tabelle1 , Spalte A in dieser stehen Kürzel Tabelle2, Spalte A, ...

Batch & Shell

Inhalt einer .csv mit PowerShell prüfen

gelöst Frage von Memo66Batch & Shell10 Kommentare

Hallo zusammen, ich bin noch bisschen am hin und her überlegen wie ich das Problem am besten löse: Ich ...

Datenbanken

T-SQL: Inhalt verschiedener Spalten in eine Spalte schreiben

gelöst Frage von SuilvenDatenbanken2 Kommentare

Guten Morgen, Ich habe eine Tabelle „Artikelinfo“ mit den Spalten „Art_Nr_Halbzeug“; „Ben_Halbzeug“ und „Bez_Halbzeug“ nun muss ich in eine ...

Neue Wissensbeiträge
Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 6 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 7 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 10 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 TagWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...