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

Textfile in csv file konvertieren, automatisch

Frage Microsoft Microsoft Office

Mitglied: CresCent

CresCent (Level 1) - Jetzt verbinden

08.07.2010, aktualisiert 18.10.2012, 7388 Aufrufe, 17 Kommentare

hallo, ich arbeite in einem autohaus und wir bekommen von userem gebrauchtwagen system leider nur txt files welche mit ";" getrennt sind. jetzt müsste ich jedoch eine csv datei erstellen. mit bestimmten parametern.

huhu,

wie im vorwort schon beschrieben. suche ich eine möglichkeit eine txt datei automatisch in eine csv datei umzuwandln, jedoch müsste die csv datei noch ein bisschen bearbeitet werden (am besten automatisch)

txt datei:
01.
1111;xxxxxxxxxFahrgestellnummer+Internenummer;Fahrzeug A;;Fahrgestellnummer1 
02.
2222;xxxxxxxxxFahrgestellnummer+Internenummer;Fahrzeug B;;Fahrgestellnummer2 
03.
3333;xxxxxxxxxFahrgestellnummer+Internenummer;Fahrzeug C;;Fahrgestellnummer3 
04.
4444;xxxxxxxxxFahrgestellnummer+Internenummer;Fahrzeug D;;Fahrgestellnummer4 
05.
5555;xxxxxxxxxFahrgestellnummer+Internenummer;Fahrzeug E;;Fahrgestellnummer5 
06.
 
und sollte dann so aussehen

ein "|" steht für eine tabelle ;) man beachte, die letzte ziffer muss auch weg, da diese nur eine prüfziffer ist ;)

01.
1111|xxxxxxxxxFahrgestellnummer+Internenummer|Fahrzeug A||Fahrgestellnummer 
02.
2222|xxxxxxxxxFahrgestellnummer+Internenummer|Fahrzeug B||Fahrgestellnummer 
03.
3333|xxxxxxxxxFahrgestellnummer+Internenummer|Fahrzeug C||Fahrgestellnummer 
04.
4444|xxxxxxxxxFahrgestellnummer+Internenummer|Fahrzeug D||Fahrgestellnummer 
05.
5555|xxxxxxxxxFahrgestellnummer+Internenummer|Fahrzeug E||Fahrgestellnummer
grüße

vllt hat wer ne idee
Mitglied: bastla
08.07.2010 um 11:31 Uhr
Hallo CresCent!

Da der Aufbau der Datensätze ja immer gleich sein sollte, ungetestet etwa so (woebei ich "ein "|" steht für eine tabelle ;)" mal als "ein "|" steht für das Zeichen TAB" uminterpretiere):
01.
@echo off & setlocal 
02.
set "Quelle=D:\Liste.txt" 
03.
set "Ziel=D:\ListeTAB.txt" 
04.
 
05.
del "%Ziel%" 2>nul 
06.
for /f "usebackq tokens=1-4 delims=;" %%a in ("%Quelle%") do set "FGNr=%%d" & call :ProcessLine "%%a" "%%b" "%%c" 
07.
goto :eof 
08.
 
09.
:ProcessLine 
10.
>>"%Ziel%" echo %~1  %~2    %~3     %FGNr:~,-1% 
11.
goto :eof
Bitte beachten: zwischen den einzelnen Ausgaben der Zeile 10 befinden sich jeweils (ein bis zwei) TAB-Zeichen!

Grüße
bastla

P.S.: In einer CSV-Datei, die ihren Namen auch verdient, wären einfach die ";" durch "," ersetzt ...
Bitte warten ..
Mitglied: RogerWilco2009
08.07.2010 um 11:32 Uhr
Hallo Crescent,

Das läßt sich sicherlich automatisieren, aber wenn ich die Frage stellen darf, wo liegt das Problem es in Excel einzulesen? (das Semikolon ist dazu prädestiniert...)

Gruß Roger
Bitte warten ..
Mitglied: RogerWilco2009
08.07.2010 um 11:34 Uhr
Hallo bastla,

Gute Antwort und besser als meine!

Gruß Roger
Bitte warten ..
Mitglied: CresCent
08.07.2010 um 11:36 Uhr
hallo bastla,

vielen dank, ich werde es gleich mal testen ;)

@ roger, das problem ist der user, der die liste bekommt. momentan liegt die liste ja als txt file vor, was meiner meinung nach auch ausreicht, aber nein er will diese liste in excel haben, damit er nicht soviel klicken muss... deshalb dieser aufwand.

grüße
Bitte warten ..
Mitglied: bastla
08.07.2010 um 11:41 Uhr
Hallo CresCent!

Wenn es wirklich nur darum geht, diese Datei möglichst schmerzfrei in Excel zu importieren, würde ich folgenden Batch empfehlen (nach soviel Unterstützung Deinerseits kann sich der Empfänger um die Prüfziffer dann ja selbst kümmern ):
01.
@echo off & setlocal 
02.
set "Quelle=D:\Liste.txt" 
03.
set "Ziel=Liste.csv" 
04.
ren "%Quelle%" "%Ziel%"
Grüße
bastla
Bitte warten ..
Mitglied: RogerWilco2009
08.07.2010 um 11:42 Uhr
Hört sich so an, als könntest Du Einschleimpunkte sammeln, wenn Du es importierst und ihm dann die Excel direkt schickst...

Gruß Roger
Bitte warten ..
Mitglied: bastla
08.07.2010 um 11:42 Uhr
@Roger
Ob meine Antwort überhaupt sinnvoll war, muss sich erst noch zeigen ...

Grüße
bastla
Bitte warten ..
Mitglied: CresCent
08.07.2010 um 12:48 Uhr
Zitat von bastla:
Hallo CresCent!

Wenn es wirklich nur darum geht, diese Datei möglichst schmerzfrei in Excel zu importieren, würde ich folgenden Batch
empfehlen (nach soviel Unterstützung Deinerseits kann sich der Empfänger um die Prüfziffer dann ja selbst
kümmern ):
01.
@echo off & setlocal 
02.
> set "Quelle=D:\Liste.txt" 
03.
> set "Ziel=Liste.csv" 
04.
> ren "%Quelle%" "%Ziel%" 
05.
> 
Grüße
bastla

guten tag bastla,

das problem, an der sache ist, diese person is 55jahre alt... und er hat es jetzt 35 jahre so per excel bekommen und will des jetzt die nächsten 10 jahre auch so bekommen....

daher der ganze aufwand. vielen dank jedenfalls für deine beiden skripte ;) des erste hat mir super weitergeholfen, des zweite nur teils, jetzt wäre es noch super, wenn es eine möglichkeit gibt, die erste datei (welche mit deinem skript erstellt worden ist, in excel zu importieren, dass hier auch die tabellen stimmen, da atm alles im feld a1 steht und nicht auf die felder aufgeteilt wird)

grüße
Bitte warten ..
Mitglied: bastla
08.07.2010 um 13:01 Uhr
Hallo CresCent!

Die Variante 2 war so ja nicht ernst gemeint - ließe sich aber etwas anpassen:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Liste.txt" 
03.
set "Ziel=D:\Liste.csv" 
04.
 
05.
del "%Ziel%" 2>nul 
06.
for /f "usebackq delims=" %%a in ("%Quelle%") do set "Zeile=%%a" & call :ProcessLine 
07.
"%Ziel%" 
08.
goto :eof 
09.
 
10.
:ProcessLine 
11.
>>"%Ziel%" echo %Zeile:~,-1% 
12.
goto :eof
Grüße
bastla

P.S.: Respekt - 35 Jahre Excel habe nicht einmal ich noch geschafft ...
Bitte warten ..
Mitglied: Biber
08.07.2010 um 13:03 Uhr
[OT]
Moin CresCent,


Zitat von CresCent:
.. und er hat es jetzt 35 jahre so per excel bekommen und ...
.* tief seufz *
Ich denk auch so gern an diese Version zurück...
...wurde die noch von Pferden gezogen oder war die schon mit Kohlebefeuerung?

Damals haben die noch echte Qualität geschmiedet in Redmond... und das Blech war viel dicker.

Grüße
Biber

[Edit] @bastla Hätte ich mir denken können können, dass du schneller tippst..*g [/Edit]
[Edit2]@LotPings]
Zitat von LotPings:
Wenn ich in drei Jahren von jungen Ignoranten mit dem Datenlöffel gefüttert werden muß, geb ich mir die Kugel
Muss das nicht "geb ich mir Google" heissen?
[/Edit2]

[/OT]
Bitte warten ..
Mitglied: CresCent
08.07.2010 um 13:11 Uhr
@ biber...

gut 35 jahre is vllt ein bisschen übertrieben, aber seitdem die beiden produkte bei uns im haus eingesetzt werden, wurde ihm die datei via excel aufbereitet und zur verfügung gestellt. ;)

aber es muss ja doch eine funktion geben, mit welcher man ein txt file(evtl. + ";") in eine excel tabelle umwandln kann oder?

grüße
crescent ;)
Bitte warten ..
Mitglied: mrtux
08.07.2010 um 14:04 Uhr
Hi !

Zitat von CresCent:
aber es muss ja doch eine funktion geben, mit welcher man ein txt file(evtl. + ";") in eine excel tabelle umwandln kann

Gute Anwendungen bieten sowas normalerweise von Haus aus an....Was aber wohl in deinem Falle nicht so ist...Aber habe ich das jetzt richtig verstanden, Du möchtest als Ergebnis ein File im Excel Format haben? Denn TXT und CSV ist doch eigentlich genau das Gleiche. Der Unterschied liegt doch nur im Separator.

Zitat von Biber:
.* tief seufz *

[ot]
Seit wir das genannte Produkt einsetzen, bin ich auch um mindestens 35 Jahre gealtert :-P Oder habe ich da jetzt was falsch verstanden?
[/ot]

mrtux
Bitte warten ..
Mitglied: LotPings
08.07.2010 um 15:57 Uhr
Zitat von bastla:
P.S.: Respekt - 35 Jahre Excel habe nicht einmal ich noch geschafft ...

Ohne künstliche Alterung durch die Benutzung ginge das ja auch garnicht

Ich war ja auch von Anfang an dabei, und habe mit all diesen mehr oder weniger gearbeitet:
1979 Visicalc 
1982 Multiplan  
1983 T/Maker 
1983 Lotus-1-2-3 
1984 Framework 
1985 Lotus Symphony 
1985 Microsoft Excel (Mac) 
1987 Microsoft Excel (Win) 
1988 QuattroPro
Selbst Visicalc kommt "nur" auf gut 30 Jahre.

Wenn ich in drei Jahren von jungen Ignoranten mit dem Datenlöffel gefüttert werden muß, geb ich mir die Kugel

Gruß
LotPings
Bitte warten ..
Mitglied: bastla
08.07.2010, aktualisiert 18.10.2012
Hallo CresCent!
aber es muss ja doch eine funktion geben, mit welcher man ein txt file(evtl. + ";") in eine excel tabelle umwandln kann oder?
Muss ich dieser Frage entnehmen, dass der Batch da oben bei Dir nicht funktioniert?

Grüße
bastla
Bitte warten ..
Mitglied: CresCent
09.07.2010 um 08:22 Uhr
hallo bastla,

ich wollte mit den 35 jahren eig. nur ausdrücken, dass er dies schon immer so bekommen hat ;)

zu der batch, es funktioniert super ;) vielen herzlichen dank.
hast vllt noch nen kniff auf lager, wie man die letzte spalte in eine zahl konvertiert (format zahl), da mir hier ein wert immer verzehrt bzw falsch dargestellt wird.

bräuchte quasi nur ne formatierung zu "zahl" ohne nachkommaziffern ;)
dann wärs perfekt.

ich hab mir dein skript auch schon ein bisschen angepasst, sodass, wenn man dieses jetzt ausführt, gleich eine email an die entsprechende person geschickt wird. ;)

grüße
Bitte warten ..
Mitglied: Biber
09.07.2010 um 09:36 Uhr
[absolutely OT]
Zitat von CresCent:
hast vllt noch nen kniff auf lager, wie man die letzte spalte in eine zahl konvertiert (format zahl),
da mir hier ein wert immer verzehrt bzw falsch dargestellt wird.

Oh mann... gut, dass bastla schon unterwegs ist, um es zu richten...
Denn halb verzehrte Werte (oder auch halb verzehrte Leberwurststullen!) können schon ganz schön unappetitlich aussehen.
Sollte deshalb schnellstens bereinigt werden.

@CresCent
Du gibst aber ganz schön viele Steilvorlagen in deinen Beiträgen

Grüße
Biber
[/absolutely OT]
Bitte warten ..
Mitglied: bastla
09.07.2010 um 09:37 Uhr
Hallo CresCent!
hast vllt noch nen kniff auf lager, wie man die letzte spalte in eine zahl konvertiert (format zahl), da mir hier ein wert immer verzehrt bzw falsch dargestellt wird.
Per Batch fällt mir dazu auch nix ein - in Excel (ab 2003) sollte aber die "Fehlerüberprüfung" Dich ja auf "als Text gespeicherte Zahlen" aufmerksam machen (und Abhilfe anbieten); ansonsten sollte immer noch die (wenn auch nicht elegante) Methode "Zahl 1 in die Zwischenablage kopieren, Spalte markieren, Inhalte einfügen..., Multiplizieren" für eine Umwandlung in eine Zahl sorgen ...

... wobei allerdings eine rechtsbündige Ausrichtung (und allenfalls Verwendung einer nicht-proportionalen Schrift wie etwa "Courier New" oder "Lucida Console") den Zweck auch schon erfüllen dürfte (rechnen willst Du ja ohnehin nicht mit der FGNr) ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Mit PowerShell per CSV-File Ordner erstellen (19)

Frage von windelterrorist zum Thema Batch & Shell ...

Batch & Shell
CSV Stapelverarbeitung mit Filterfunktion für große Datenmengen (8)

Frage von Rippchen zum Thema Batch & Shell ...

Windows Server
gelöst Active Directory File Extension - Associated Program (11)

Frage von adm2015 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...