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 csv per vbs splitten, dann letzte Zeile löschen

Mitglied: Havanna

Havanna (Level 1) - Jetzt verbinden

29.02.2008, aktualisiert 03.03.2008, 7465 Aufrufe, 4 Kommentare

Moin, ich bin der Neue
Und gleich mal mit einer Frage nerven *g*
Arbeite mich gerade in vbs ein.
Ich muss eine csv splitten, in 10000 Zeilen aufgeteilt.
Das klappt auch soweit ganz gut mit dem was ich mir hier im Forum schon zusammengesucht habe.
Haken an der Geschichte: Die gesplitteten Dateien enthalten am Ende immer eine Leerzeile und ich hab bisher keinen Weg gefunden das zu unterbinden.
Wenn ich MaxLine auf 9999 setzte dann hab ich zwar die maximalen 10000 Zeilen, aber trotzdem am Ende eine Leerzeile.
MaxLine auf 10000 bringt mir Dateien mit 10001 Zeilen und halt wieder mit der Leerzeile am Ende :/

Any solutions for me?

Hier mal das was ich mir bisher zusammengeschustert habe:
01.
'SplitTextFile.vbs 
02.
sInFile = WScript.Arguments(0) 
03.
If WScript.Arguments.Count < 2 Then 
04.
    lMaxLine = 10000 
05.
Else 
06.
    lMaxLine = CLng(WScript.Arguments(1)) 
07.
End If 
08.
 
09.
Set fso = Wscript.CreateObject("Scripting.FileSystemObject") 
10.
sPath = fso.GetFile(sInFile).Path 
11.
sPath = Left(sPath, InstrRev(sPath, "\") - 1) 
12.
sOutName =  sPath & "\" & fso.GetBaseName(sInFile) & "_" 
13.
If InstrRev(sInFile, ".") Then 
14.
    sOutType = Mid(sInFile, InstrRev(sInFile, ".")) 
15.
End If 
16.
 
17.
lLineNr=0 
18.
iFileNr=101 
19.
 
20.
Set oOut = fso.OpenTextFile(sOutName & Mid(CStr(iFileNr),2) & sOutType, 2, True) 
21.
Set oIn = fso.OpenTextFile(sInFile, 1) 
22.
Do While Not oIn.AtEndOfStream 
23.
	oOut.WriteLine oIn.ReadLine 
24.
	lLineNr = lLineNr + 1 
25.
	If lLineNr >= lMaxLine Then 
26.
		lLineNr = 0 
27.
		oOut.Close 
28.
		iFileNr = iFileNr + 1 
29.
		Set oOut = fso.OpenTextFile(sOutName & Mid(CStr(iFileNr),2) & sOutType, 2, True) 
30.
	End If 
31.
Loop 
32.
oIn.Close 
33.
oOut.Close 
34.
WScript.Echo "Erledigt :)"
Oder muss ich die Ausgabedatei noch einmal komplett in eine neue schreiben halt bis auf die letzte Zeile?


[Edit Biber] In <code>-Tags gesetzt. [/Edit]
Mitglied: bastla
29.02.2008 um 19:05 Uhr
Hallo Havanna und willkommen im Forum!

Versuch es vielleicht so:
01.
... 
02.
Do While Not oIn.AtEndOfStream 
03.
	oOut.Write oIn.ReadLine 'Zeile ohne Zeilenschaltung schreiben 
04.
	lLineNr = lLineNr + 1 
05.
	If lLineNr >= lMaxLine Then 
06.
		lLineNr = 0 
07.
		oOut.Close 
08.
		iFileNr = iFileNr + 1 
09.
		Set oOut = fso.OpenTextFile(sOutName & Mid(CStr(iFileNr),2) & sOutType, 2, True) 
10.
	Else 'noch nicht letzte Zeile, daher Zeilenschaltung anhängen 
11.
		oOut.Write vbCrLF 
12.
	End If 
13.
Loop 
14.
oIn.Close 
15.
oOut.Close 
16.
WScript.Echo "Erledigt ;-)"
Grüße
bastla

P.S.: Wir hätten hier auch <code>-Tags ...
Bitte warten ..
Mitglied: Havanna
03.03.2008 um 13:38 Uhr
Vielen Dank, funktioniert so.
Minimanko: In der letzten Datei die geschrieben wird ist trotzdem noch am Ende eine Leerzeile.
Aber das ist nicht so schlimm, wenn man das weiß dann kann man die noch mal eben schnell manuell löschen
Bitte warten ..
Mitglied: bastla
03.03.2008 um 13:52 Uhr
Hallo Havanna!

In der letzten Datei die geschrieben wird ist trotzdem noch am Ende eine Leerzeile.
Stimmt leider - dann versuchen wir's eben ersatzweise so:
01.
... 
02.
	Else 'noch nicht letzte Zeile, daher Zeilenschaltung anhängen 
03.
		If Not oIn.AtEndOfStream Then oOut.Write vbCrLF 'falls nicht schon letzte Zeile 
04.
	End If 
05.
...
Grüße
bastla
Bitte warten ..
Mitglied: Havanna
03.03.2008 um 14:24 Uhr
Perfekt.
Selbst wenn in der csv Vorlage eine Leerzeile am Ende ist dann wird diese nicht mitgespeichert.
Vielen Dank
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Zeile in CSV löschen
gelöst Frage von Alex1809Entwicklung3 Kommentare

Moin zusammen, in Zusammenhang mit Power Shell, stehe ich wieder vor einer Wand Ich brauche ein Code, welcher eine ...

Batch & Shell

Powershell - Zeilen in einer csv löschen bis

Frage von Franz-Josef-IIBatch & Shell7 Kommentare

Hello alle miteinander Ich versuche mich (noch immer ;-) noch nicht aufgegeben) im scripten mit der Powershell. Jetzt habe ...

VB for Applications

Mit VBS erste Zeile von CSV ändern

gelöst Frage von apfeltoastVB for Applications5 Kommentare

Hallo zusammen, ich wurde von einem Arbeitskollegen beauftragt eine CSV-Datei automatisch zu editieren. Die Ursprungsdatei hat 44 Spalten und ...

Batch & Shell

Batch um erste Zeile einer CSV zu löschen

gelöst Frage von chris1987.1Batch & Shell6 Kommentare

Hallo, im Rahmen meiner Masterarbeit muss ich eine Vielzahl von csv Dateien untersuchen. Hierbei muss ich einige dieser Dateien ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 7 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 13 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 17 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...