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

2 Zeilen in CSV Datei einfügen

Frage Entwicklung Batch & Shell

Mitglied: inspiration

inspiration (Level 1) - Jetzt verbinden

20.10.2011, aktualisiert 21:10 Uhr, 4028 Aufrufe, 17 Kommentare

Hallo ihr Meister,

ich habe eine CSV Datei, in dieser sind 8 Spalten.

Diese sind durch ein ; getrennt.

Jetzt muss ich in dieser CSV Datei einen Header schreiben.

Dieser muss wie folgt lauten:

NAME;ZUSATZ;STRASSE;NUMMER;PLZ;STADT;LAND;ADRESS_TYP

ALS 2. ZEILE muss folgendes:

MAX;MUSTERMANN;MUSTERSTR. 13;Abs.1;12345;MUSTERSTADT;DE;HOUSE


so und weil des noch nicht alles ist kommt noch etwas dazu:

Die Spalte ADRESS_TYP ist beim EXPORT leer.

Dort muss noch in jede Zeile (außer in Zeile 1+2) das Wort HOUSE rein.


So, mehr ist mit dieser Datei gar nicht zum tun. HEHE


Ich hoffe mir kann wieder so gut geholfen werden wie letztes mal.


Gruß
Mitglied: Head-Crash
20.10.2011 um 21:14 Uhr
Hi,

wenn es nur wenige Zeilen sind, hau Dir die Datei in Notepad+ und füge sie manuell hinzu.
Alternativ kannst Du die CSV Datei in Excel laden und dort einfach eine neue Spalte einfügen und oben und unten im gewünschen Bereich "HOUSE" eintragen.
Danach Auto Ausfüllen benutzen und einfach wieder als CSV abspeichern.

Ein Bild hab ich Dir bereitgestellt:

http://www.bilder-space.de/bilder/5d8a26-1319138057.jpg

Viel Erfolg!
Bitte warten ..
Mitglied: inspiration
20.10.2011 um 21:23 Uhr
Danke für deine Antwort.

Ich brauche die Datei mehrmals am Tag.

Dann müsste ich das jedesmal machen. Und das wollte ich mir eigentlich ersparen.

Doppelklick fertig und im Proggy einfügen. FERTISCH.

So bräuchte ich das eben unbedingt.


Gruß
Bitte warten ..
Mitglied: Head-Crash
20.10.2011 um 21:32 Uhr
hmm, dann solltest ein kleines Programm oder Script haben, mit welchem Du das vielleicht sogar komplett automatisiert erledigen kannst. Ist nicht mehr ganz so mein Fachgebiet, aber ich bin mir sicher, die Community wird Dir hier sicherlich weiterhelfen können.
Bitte warten ..
Mitglied: bastla
20.10.2011 um 21:36 Uhr
Hallo inspiration!

Im einfachsten Fall etwa so:
01.
@echo off & setlocal 
02.
set "Datei=D:\Deine.csv" 
03.
set "Bak=%temp%\Deine.csv" 
04.
 
05.
move "%Datei%" %Bak% 
06.
 >"%Datei%" echo NAME;ZUSATZ;STRASSE;NUMMER;PLZ;STADT;LAND;ADRESS_TYP 
07.
>>"%Datei%" echo MAX;MUSTERMANN;MUSTERSTR. 13;Abs.1;12345;MUSTERSTADT;DE;HOUSE 
08.
for /f "delims=" %%i in (%Bak%) do >>"%Datei%" echo %%iHOUSE
Soferne es Zeilen geben kann, die mit einem leeren Feld (daher also mit ";") beginnen, wäre eher
for /f "eol=§ delims=" %%i in (%Bak%) do >>"%Datei%" echo %%iHOUSE
zu verwenden, wobei "§" ein Zeichen darstellt, das sicher nicht in der Datei vorkommt.

Grüße
bastla
Bitte warten ..
Mitglied: inspiration
20.10.2011 um 21:36 Uhr
Deshalb dachte ich ja ein eine Bat datei.

Aber da weiß ich auch icht weiter und deshalb brauche ich die Hilfe von den Profis hier.

Dir aber trotzdem danke für deine " versuchte " Hilfe !!!
Bitte warten ..
Mitglied: inspiration
20.10.2011 um 21:51 Uhr
Genial.

Du bist echt Wahnsinn !!!

Des klappt genial.

Jetzt habe ich noch eines:

Ich habe jetzt erst mitbekommen, das beim Export z.B.: ;"bastla";

Die " müssten jetzt noch alle wech.


Danke
Bitte warten ..
Mitglied: bastla
20.10.2011 um 22:00 Uhr
Hallo inspiration!

Sollte so gehen:
01.
@echo off & setlocal 
02.
set "Datei=D:\Deine.csv" 
03.
set "Bak=%temp%\Deine.csv" 
04.
 
05.
move "%Datei%" %Bak% 
06.
 >"%Datei%" echo NAME;ZUSATZ;STRASSE;NUMMER;PLZ;STADT;LAND;ADRESS_TYP 
07.
>>"%Datei%" echo MAX;MUSTERMANN;MUSTERSTR. 13;Abs.1;12345;MUSTERSTADT;DE;HOUSE 
08.
for /f "eol=§ delims=" %%i in (%Bak%) do set "Zeile=%%i" & call :ProcessLine 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
setlocal enabledelayedexpansion 
13.
>>"%Datei%" echo !Zeile:"=!HOUSE 
14.
endlocal 
15.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: inspiration
20.10.2011 um 22:12 Uhr
Genial.

Da weiß man gar nicht wie man sich bedanken soll.
Weil das ist echt wahnsinn.
Du hilfst mir ungemein !!!

Jetzt hätte ich noch eine Überlegung.

Wäre schön, aber nicht so wichtig, das wichtig ist schon erledigt.

Wenn die ursprungsdatei jetzt 9 Spalten hat.
Könnte man Spalte 1+2 in eine Spalte zusammen fügen, dann spalte 2 löschen (weil ist ja in spalte 1 mit drin) und dann den obigen Ablauf machen ?
Bitte warten ..
Mitglied: bastla
20.10.2011 um 22:16 Uhr
Hallo Inspiration!

Gegenfrage: Sind in den Spalten 1 und 2 immer Werte enthalten? Falls ja, dann (ungetestet):
01.
@echo off & setlocal 
02.
set "Datei=D:\Deine.csv" 
03.
set "Bak=%temp%\Deine.csv" 
04.
 
05.
move "%Datei%" %Bak% 
06.
 >"%Datei%" echo NAME;ZUSATZ;STRASSE;NUMMER;PLZ;STADT;LAND;ADRESS_TYP 
07.
>>"%Datei%" echo MAX;MUSTERMANN;MUSTERSTR. 13;Abs.1;12345;MUSTERSTADT;DE;HOUSE 
08.
for /f "tokens=1-2* delims=;" %%i in (%Bak%) do set "Zeile=%%i%%j;%%k" & call :ProcessLine 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
setlocal enabledelayedexpansion 
13.
>>"%Datei%" echo !Zeile:"=!HOUSE 
14.
endlocal 
15.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: inspiration
20.10.2011 um 22:23 Uhr
Wie jetzt ungetestet ? Soll ich Dir da glauben ? Naja, ok. :D


JAAAAAAAAAAAAAAAAAAAA, es funzelt !!!

Nur muss jetzt noch nen Leerzeichen rein. Spalte 1 = Ex Spalte 1 + Leerzeichen + Ex Spalte 2

Weil jetzt ist es bastlabastla und soll ja bastla bastla sein. :D
Bitte warten ..
Mitglied: bastla
20.10.2011 um 22:25 Uhr
Hallo inspiration!
Nur muss jetzt noch nen Leerzeichen rein
Und Du hast gar keine Idee, wo das hinpassen würde?

Grüße
bastla
Bitte warten ..
Mitglied: inspiration
20.10.2011 um 22:28 Uhr
nix posten. Ich kriegs bestimmt raus. Moment
Bitte warten ..
Mitglied: inspiration
20.10.2011 um 22:41 Uhr
Irgendwie ist man echt zu bequem. Solche einfachen Dinge kann man eigentlich selbst ausprobieren und dabei vielleicht noch etwas lernen.

"Zeile=%%i%%j; %%k"

Dort muss das Leerzeichen nach dem ; hin.



Danke für die anregung es selbst auszuprobieren.


Und wirklich vielen vielen Dank für deine Geniale Hilfe.
Und das schon das 2. Mal so wahnsinnig schnell
Bitte warten ..
Mitglied: Skyemugen
21.10.2011 um 08:50 Uhr
Aloha ...

warum will man eine Spalte beginnend mit einem Leerzeichen? ... Ich hätte ja eher vermutet, dass das Leerzeichen zwischen %%i und %%j kommt aber nunja

greetz André
Bitte warten ..
Mitglied: inspiration
21.10.2011 um 08:53 Uhr
Ist ja nicht am Anfang.

Das leerzeichen ist zwischen j und k

also %%i%%j;(leerzeichen)%%k
Bitte warten ..
Mitglied: Skyemugen
21.10.2011 um 09:39 Uhr
Aloha,

wie, ist nicht am Anfang?

; symbolisiert doch die Trennung zweier Spalten also ist dein Leerzeichen doch am Anfang einer neuen Spalte ... naja, mir soll's egal sein aber wenn das Thema hier fertig ist, klopp doch mal den klimagrünen Haken dran.

greetz André
Bitte warten ..
Mitglied: inspiration
21.10.2011 um 09:42 Uhr
Hmmmm,


aber es geht !!!

Grüner haken ist erledigt !
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Batch & Shell
gelöst PS Werte CSV-Datei in AD Attribut (3)

Frage von lupolo zum Thema Batch & Shell ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Batch & Shell
CSV-Datei nach Excel importieren (5)

Frage von mrvfbnummer2 zum Thema Batch & Shell ...

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 ...