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 Dateien verbinden

Frage Entwicklung Batch & Shell

Mitglied: chrislm

chrislm (Level 1) - Jetzt verbinden

26.03.2012 um 17:16 Uhr, 3035 Aufrufe, 11 Kommentare

Hallo.
Ich habe schon einiges herumprobiert bin aber bisher zu keiner Lösung gekommen.
Mein Problem: Ich möchte 2 csv dateien zusammen fügen zu einer, aber abwechselnd.
Die erste Zeile von Datei1 dann die erste Zeile von Datei2.
Die zweite Zeile von Datei1 und wieder die 2. Zeile von Datei2 und das alles in gesamt.csv
Im enteffekt will ich nur die Adressen Mischen, eine CSV hat 7 Token...
Mitglied: bibi52
26.03.2012 um 18:21 Uhr
Hallo, ich verstehe nicht genau was Du mit 7 Token meinst.

Wieviele Daten, Zeilen, enthalten denn die beiden CSV Dateien jeweils.
Kannst die z.B. in Excel reinladen und dann einfach via Copy - Paste die Zeilen einfügen?

Wenn es sehr viele Zeilen sind, könnte ich mir vorstellen, dass zuerst die 1. CSV Datei
in Excel reinladest. Dann würde ich vorne eine neue Spalte einfügen und alle Zeilen
durchnummerieren und zwar mit 1, 3, 5, 7, usw.

Am untersten Ende fügst dann die 2. CSV Datei ein.
Die tust dann auch durchnummerieren mit 2,4,6, usw. Das kann man mit Excel
ja autom. erledigen lassen.

Und danach dann alles markieren und nach der 1. Spalte sortieren.
Sollte so eigentlich funktionieren.

Gruß
Christian
Bitte warten ..
Mitglied: Skyemugen
26.03.2012 um 18:28 Uhr
Zitat von bibi52:
Hallo, ich verstehe nicht genau was Du mit 7 Token meinst.

Aloha,

guck mal, in welchem Bereich der Thread ist, tokens bezieht sich auf eine for-Schleife und nein @TE ich habe dazu heute keine Lust, den Aufwand haben wir bereits betrieben, such mal ein wenig im Forum ...

wobei wenn er nur Zeile, Zeile will, dann benötigt er auch keine tokens, dennoch ist das Thema nicht neu ...

greetz André
Bitte warten ..
Mitglied: Biber
26.03.2012 um 18:40 Uhr
....er könnte ja z.B. beide CSV-Dateien mit FindStr /n $ durchnummerieren lassen, an SORT zwischenpipen und das Ergebnis mit einer FOR /F-Anweisung wieder von den Zeilennummern befreien.

Das könnten aber bis zu anderthalb Zeilen am CMD-Prompt werden....

Grüße
Biber
Bitte warten ..
Mitglied: chrislm
26.03.2012 um 18:40 Uhr
Ich meinte damit die Spalten, Name, Vorname, Straße, Plz usw..

Aber mit meinem Verhältniss 1zu1 hat nicht hin, ich muss wohl 2 zu 1 nehmen. also 2 zeilen aus der Datei 1 und 1 aus datei 2.
Das mit dem Excel scheint dann nicht mehr zu funktionieren, sonst würde ich es so machen..
Bitte warten ..
Mitglied: bastla
26.03.2012 um 20:59 Uhr
Hallo chrislm!

Als VBScript etwa so:
01.
Datei1 = "D:\Datei1.csv" 
02.
Datei2 = "D:\Datei2.csv" 
03.
DateiNeu = "D:\Gesamt.csv" 
04.
 
05.
Anzahl1 = 2 'Anzahl der Zeilen aus Datei1, bevor die nächste Zeile aus Datei2 an die Reihe kommt 
06.
 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
T1 = Split(fso.OpenTextFile(Datei1).ReadAll, vbCrLf) 
09.
T2 = Split(fso.OpenTextFile(Datei2).ReadAll, vbCrLf) 
10.
 
11.
For i = 0 To UBound(T1) Step Anzahl1 
12.
    For x = 1 To Anzahl1 
13.
        k = i + x - 1 
14.
        If k <= UBound(T1) Then If T1(k) <> "" Then T = T & vbCrLf & T1(k) 
15.
    Next 
16.
    If j <= UBound(T2) Then If T2(j) <> "" Then T = T & vbCrLf & T2(j) 
17.
    j = j + 1 
18.
Next 
19.
 
20.
Do While j <= UBound(T2) 
21.
    If T2(j) <> "" Then T = T & vbCrLf & T2(j) 
22.
    j = j + 1 
23.
Loop 
24.
 
25.
fso.CreateTextFile(DateiNeu).Write Mid(T, 3)
Sollten übrigens beide Dateien eine Kopfzeile haben, füge vor Zeile 11 noch
j = 1
hinzu ...

Grüße
bastla

[Edit] Noch etwas flexibler gestaltet [/Edit]
Bitte warten ..
Mitglied: Biber
26.03.2012 um 21:24 Uhr
Sach ma, bastla,

ist dir am heutigen Montag schon aufgefallen, dass du grad zwei (Address-) CSV-Dateien Zeile für Zeile abwechselnd zu einer grossen (Address-) CSV-Datei zusammenmischt??

Ich meine: Ja hey! Wenn es denn unterschiedliche (=eindeutig identifizierbare) Adressen sind, die bei einem späteren Import in Excel oder Datenbank keine Kollisionen verursachen...

-> dann kannst du einfach die beiden Textklumpen aneinanderketten (eine davon ggf. enthauptet bzw. ohne Kopfzeile).

Es hat doch bei zwei oder vier oder sechs sequentiell zu verarbeitenden CSV-Dateien keinerlei Vorteil, wenn zuerst Zeile 1 aus DateiA, dann Zeile 1 aus DateiB gelesen wird.

Es kann/darf doch nichts dagegensprechen, genausogut erst alle Primzeilen aus Datei A, dann die durch 7 ohne Rest teilbaren Zeilen aus Datei B und dann jeweils den zusammengekehrten Rest einzusaugen.

Und dann den ganzen Klumpen zu sortieren alphabetisch oder nach ID.

???? Oder geht es um eine Wette?

Etwas ratlos
Biber
Bitte warten ..
Mitglied: bastla
26.03.2012 um 21:31 Uhr
Hallo Biber!

Is doch nur Spass (oder wie meine Tochter *nicht, dass ich nochmal 13 sein möchte* neulich fragte: Muss denn immer alles Sinn ergeben?) ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
26.03.2012 um 21:39 Uhr
Moin bastla,

na, dann bin ich ja beruhigt....

Ich mag ja diesen irgendwie so heimatlich anmutenden, typisch deutschen "Spass"-Begriff.

So wie wir ihn alle lieben auch im Kontext "Verstehen sie Spass?" oder "Spasspartei" oder "Faukspass".

Asterix hätte gesagt: "Die spinnen, die Skripter.".

Aber auch er hätte es mit einem gesagt.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
26.03.2012 um 21:43 Uhr
Hallo Biber!
Ich mag ja diesen irgendwie so heimatlich anmutenden, typisch deutschen "Spass"-Begriff.
Extra deswegen auch nicht "Spaß" ...

Grüße
bastla

P.S.: Etwas enttäuschend war die Antwort, die sich meine Tochter dann gleich selbst gegeben hat: Eigentlich schon.
Bitte warten ..
Mitglied: Biber
26.03.2012 um 21:48 Uhr
Moin bastla,

Eigentlich schon.

Wenn sie mit dreizehn schon so souverän mit dem kursiv gesprochenen eigentlich umgehen kann, .....

...dann hast du ihr alles Wesentliche des Lebens und unseres Kulturkreises vermittelt.

Grüße
Biber
Bitte warten ..
Mitglied: chrislm
27.03.2012 um 09:08 Uhr
Das ist wie immer hier klasse!!!!
vielen dank, besonders an bastla der mir hier schon oft geholfen hat!
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows 10
Surface 4 Pro Netzlaufwerk verbinden (4)

Frage von Yannosch zum Thema Windows 10 ...

Windows Server
gelöst Windows Server 2012 mit Fritzbox per VPN verbinden (13)

Frage von StefanT81 zum Thema Windows Server ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (29)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...