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

TXT, CSV in XLS oder CSV mit BATCH, VBA oder ähnliches

Frage Microsoft Windows Tools

Mitglied: WIN95FTW

WIN95FTW (Level 1) - Jetzt verbinden

06.08.2013, aktualisiert 09:34 Uhr, 1421 Aufrufe, 1 Kommentar

Hallo liebe IT-Gemeinde,

ich hab hier ein kleines Problem:

Ich habe eine große Menge an Datensätzen, welche in TXT/CSV Daten gespeicht sind. Jeder Datensatz ist in einer eigenen Datei. Die Formatierung sieht in etwa so aus:

{"_id":"uv2hx","_rev":"1864-f02c5c50d1fd3eXKE2e","@level":"2","@bought":"1695620","value":"1746.85577393","reco":"405000","quest":"8","@nb_veh":"267210","@stars":"52,40","@raw":"2","ELO_LB":"0.0","ranke":"36","@xp_ca:"1008","@multi":"6824",}

... diese Datensätze sollen übersichtlich in einer Tabelle gelistet werden. Dabei muss zB: aus:

"reco":"405000",

der Wert "405000" in eine Spalte der Tabelle übernommen werden. Das "reco" ist in dem Fall der Spaltenname. Für jeden Datensatz soll natürlich eine neue Zeile angelegt werden.

Ein weiteres Problem ist, die Reihenfolge der Daten im Datensatz kann sich unterscheiden. Der oben gezeigte Datensatz kann auch wie folgt aussehen:

{"_id":"uv2hx","_rev":"1864-f02c5c50d1fd3eXKE2e","@stars":"52,40","@level":"2","@bought":"1695620","@multi":"6824","value":"@raw":"2","1746.85577393","reco":"405000","quest":"8","@nb_veh":"267210","ELO_LB":"0.0","ranke":"36","@xp_ca:"1008",}

Da es sich um wirklich viele Datensätze handelt, muss die ganze Aktion automatisiert ablaufen und es dürfen keine Artefakte wie:

" oder ;

in der Tabelle verbleiben.

Ich bedanke mich schoneinmal für alle Hinweise von euch!
Mitglied: bastla
06.08.2013, aktualisiert um 16:11 Uhr
Hallo WIN95FTW und willkommen im Forum!

Nur auf Basis Deiner geposteten Beispiel-Datensätze (mich irritiert etwa "{" am Anfang ohne "}" am Ende) und unter der Annahme, dass in jedem Datensatz jeweils die gleichen Felder enthalten sind und es sich außerdem um eine einmalige Aktion handelt, würde ich das quick & dirty etwa so versuchen:
01.
@echo off & setlocal 
02.
set "CSV=Ergebnis.csv" 
03.
 
04.
>"%CSV%" echo ;"@bought";"@level";"@multi";"@stars";"_rev";"quest";"reco";"value":;"@raw";{"_id" 
05.
for /f "delims=" %%f in ('dir /b *.csv') do call :ProcessLine "%%f" 
06.
"%CSV%" 
07.
goto :eof 
08.
 
09.
:ProcessLine 
10.
set /p Zeile=<%1 
11.
setlocal enabledelayedexpansion 
12.
for /f "tokens=2 delims=:" %%i in ('^(for %%a in ^(%Zeile%^) do @echo %%a^)^|sort') do set "Satz=!Satz!;"%%~i" 
13.
>>"%CSV%" echo !Satz: =! 
14.
endlocal 
15.
goto :eof
Das Ergebnis sollte eine mit Excel zu öffnende CSV-Datei sein.

Sollten übrigens die Einzeldateien anstatt ".csv" den Typ ".txt" haben, die Zeile 5 entsprechend anpassen.

Grüße
bastla

P.S.: Für Deine Beispiel-Datensätze würde sich "Code"-Formatierung anbieten ...
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (25)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Server-Hardware
gelöst Erfahrungswerte Hardwaresupport physikalische Server (16)

Frage von Devilx zum Thema Server-Hardware ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (15)

Frage von bogi1102 zum Thema Exchange Server ...