Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBASICBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDebianDigitiales FernsehenDNSDomain RegistrierungDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareGrundlagenHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetiOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOnlinediensteOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal & DelphiPerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSonstige PeripheriegeräteSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSun SolarisSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideoViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows NetzwerkWindows PhoneWindows ServerWindows SystemdateienWindows ToolsWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Weniger Werbung?
Cover IT-Administrator
Mit dem Heftschwerpunkt "IT-Support & Troubleshooting" startet das IT-Administrator Magazin ins neue Jahr. Dabei erfahren Sie, auf welchem Weg Sie Ihr eigenes Ticket-System mit osTicket einrichten und die Windows Troubleshooting Platform für die Fehlersuche nutzen. Außerdem lesen Sie, wie die Performance-Analyse unter Linux mit collectd, serverstats, iostat und sar funktioniert und wie Sie Druckproblemen im Netzwerk Herr werden. In einem großen Vergleichstest nimmt die Redaktion ...

GELÖSTnur bestimmte Spalten aus csv Datei auslesen

FrageEntwicklungBatch & Shell

Mitglied: StefanLausL

StefanLausL (Level 1) - Jetzt verbinden

10.07.2009, aktualisiert 18.10.2012, 10954 Aufrufe, 13 Kommentare
Guten Morgen,

ich suche ein Lösung für folgendes Problem:

Ich hab in einem Batch mehrere csv Dateien deren Aufbeu eigentlich identisch sein sollte zu einer Datei zusammengefasst
und wollte diese in eine Tabelle vom SQL-Server 2000 importieren.
Der Import ist aber leider auf Fehler gelaufen da ab Zeile 67000 die Spalten nicht mehr mit den vorhergenden Zeilen übereinstimmen.

Jetzt zu meiner Frage:

Ich benötige nur die Spalten 1-7 der Datei.
Wie kann ich mittels Batch die Spalten 8-x aus der CSV-Datei löschen ?

Für eine Antwort wäre ich sehr dankbar.
Mitglied: crashzero2000
10.07.2009 um 11:02 Uhr
Hy Stefan,

bastla ist im Urlaub [Hä - Hat er sich verdient], er könnte dir sicher was zaubern.

Er hat mir vor geraumer Zeit etwas in VB gescriptet das deiner Sache nahe kommt.
Wenn du etwas VBS kannst , kannst du damit sicherlich was anfangen, in dem Script werden auch Zeilen übersprungen da ich nur bestimmte benötigte und werden in eine andere Datei geschrieben.

Guckst du hier : http://www.administrator.de/forum/wie-csv-per-batch-oder-vbs-in-fremdfo ...

PS:Ich bin leider kein VBS´ler
Bitte warten ..
Mitglied: -ricardo-
10.07.2009 um 11:42 Uhr
Eine CSV kannst du auch mit Excel öffenen ...
Wenn die Datensätze nicht gerade mit einen ; getrennt werden müsstest du dann noch den Delimiter einstellen und hast es dann alles schön sauber in Spalten.

Dann kannst du alles bis auf Spalte 1-7 bzw A-G löschen und unter... Speichern unter .... als csv speichern...

geht am schnellsten :D bevor du anfängst zu proggen ... es sei denn du hast 100 von den Dateien
Bitte warten ..
Mitglied: StefanLausL
10.07.2009 um 11:50 Uhr
Hallo crashzero2000 ,

vielen Dank für den Link.
Werd ich mir gleich mal anschauen.
Bin zwar auch kein VBS'ler aber ich schau mal wie weit ich komme
Bitte warten ..
Mitglied: StefanLausL
10.07.2009 um 11:51 Uhr
Leider sind es mehrere Dateien die mehr als 65.000 Zeilen haben
d.h. mit Excel wird das nix.
Bitte warten ..
Mitglied: -ricardo-
10.07.2009 um 11:53 Uhr
Ja gut Zeilen das ist blöd..

Womit wolltest du es denn Programmieren ...

Vb?
Bitte warten ..
Mitglied: 60730
10.07.2009 um 12:28 Uhr
Zitat von -ricardo-:
Eine CSV kannst du auch mit Excel öffenen ..


Moinsen,

kaum ist der Bastla im Urlaub, tanzen die Mäuse auf dem Tisch


Als Batch - die so gut funktioneren sollte, daß nur ein "B" aus denm B Bereich dort was dran zu bemängeln haben kann...

Und trotzdem ungetestet aus dem Stehgreif....
01.
for /f "tokens=1,7,1-7 delims=, " %%a in (pfad\zur\test.csv) do echo %%a,%%b,%%c,%%d,%%e,%%f,%%g>>pfad_zur_neuen7stelligen.csv

Gruß
Bitte warten ..
Mitglied: 76109
10.07.2009 um 13:50 Uhr
Hallo StefanLausL!

Sorry, habe mich verlesen

Gruß Dieter
Bitte warten ..
Mitglied: StefanLausL
10.07.2009 um 14:02 Uhr
Problem mit dem vbs Skript ist das irgendwann Runtime Error erscheint.
Aus welchen Gründen auch immer.

Der Batch von TimoBeil funktioniert an sich zumindest mit wenigen Daten.
Wenn ich den Batch an den Echtdaten anwende erscheint "Nicht genügend Arbeitsspeicher".
Die Datei ist im Momen 750 MB gross.

Die Datei wurde ja aus vielen anderen csv Dateien erzeugt bzw. zusammengefügt.
Wie kann ich einen Ordner nach csv Dateien durchsuchen und auf die gefunden Dateien diesen Batch
anwenden um diese dann erst im nächsten Schritt zusammen zu fügen ?
Bitte warten ..
Mitglied: 76109
10.07.2009 um 14:27 Uhr
Hallo StefanLausL!

Falls Du mein VB-Script meinst, dann liegt das daran, dass ich nur von maximal 8 Spalten ausgegangen bin. Mehr hatte ich nicht vorgesehen. Ist aber kein Problem, mache nur noch ein paar Tests.

Gruß Dieter
Bitte warten ..
Mitglied: 76109
10.07.2009 um 14:42 Uhr
Hallo nochmal!

Also, mit diesem Code müssen mindestens 7 Spalten vorhanden sein. Ab Spalte 8 werden alle Spalten ignoriert.

Diese Variante sollte in jedem Fall funktionieren:
01.
Const iPath = "F:\$Scripts\Test\Import.Csv" 
02.
Const ePath = "F:\$Scripts\Test\Export.Csv" 
03.
 
04.
Const Delim = ";"  'Bei Tab: Delim = vbTab 
05.
 
06.
Dim Fso, iFile, eFile, iText, eText(6), i 
07.
 
08.
Set Fso = CreateObject("Scripting.FileSystemObject") 
09.
Set iFile = Fso.OpenTextFile(iPath) 
10.
Set eFile = Fso.CreateTextFile(ePath) 
11.
     
12.
Do Until iFile.AtEndOfStream 
13.
    iText = Split(iFile.ReadLine, Delim, 8) 
14.
    If UBound(iText) >= 6 Then 
15.
        For i = 0 To 6: eText(i) = iText(i): Next 
16.
        eFile.WriteLine Join(eText, Delim) 
17.
    End If 
18.
Loop 
19.
 
20.
iFile.Close:  eFile.Close 
21.
 
22.
MsgBox "Der Exportvorgang ist beendet!", vbInformation, "Meldung"

Gruß Dieter

[edit] Text auf das wesentliche gekürzt [/edit]
Bitte warten ..
Mitglied: StefanLausL
10.07.2009 um 16:20 Uhr
Super !

Vielen,vielen Dank.

Das scheint zu funktionieren.
Bitte warten ..
Mitglied: 76109
10.07.2009 um 18:08 Uhr
Hallo StefanLausL!

Prima, gern Geschehen

Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Windows XP
Tipp: Da ich heute selbst auf der Suche nach einer Lösung war, die Bildschirmausgabe auf Graustufen umzustellen und mich dabei durch viele Seiten sowie Foren ohne eine wirklich vernünftige ... von Trecasim, in Windows XP
Diese Inhalte könnten dich auch interessieren
Microsoft Office
Frage: Hallo Leute, ich bräuchte mal wieder eure hilfe in Sachen EXCEL - ich hoffe ihr könnt mir weiterhelfen, das wäre eine feine SACHE! Und zwar habe ich von ... von sims, in Microsoft Office
VB for Applications
Frage: Guten Abend liebe Leute! Ich bin neu hier im Forum und hoffe, dass mir trotzdem jemand helfen kann. Leider habe ich von VBA bisher keine Ahnung. Ich würde ... von Salektro, in VB for Applications
VB for Applications
Frage: Hallo zusammen ich möchte gerne ein Makro schreiben, welches eine Zeile auf Inhalt überprüft und falls etwas drin steht, dass dann ein bestimmter Bereich (z. B. A1:D5) in ... von windowskid, in VB for Applications
Batch & Shell
Frage: Hallo zusammen, ich muss eine CSV Datei in ein Programm importieren, die im Prinzip SO aussieht: Soweit so schlecht, denn in meinem Programm sollen hinterher nur die Zeilen ... von yakazaa, in Batch & Shell
Windows Server
Frage: Hallo Leute, ich habe eine Frage und hoffe Ihr könnt mir dabei schnell und einfach helfen: In meinem ersten Projekt für meinen neuen Arbeitgeber habe ich eine für ... von kilrathi, in Windows Server
Heiß diskutierte Inhalte
Multimedia & Zubehör
Frage: Moin ^^ Wie jeder weiß ist für einen Gamer das Headset oder die Kopfhörer sehr wichtig denn der Sound ist auf alle Fälle sehr wichtig. Ich leider habe ... von teslacoil, in Multimedia & Zubehör
Festplatten, Raid
Frage: Hi, kurze Frage: Sehe ich das gerade richtig, dass ich mich entweder für HW-RAID ODER SW-RAID entscheiden muss? Viele Grüße CSE ... von cse, in Festplatten, Raid
Windows Server
Frage: Hallo Leute, ich hab mir vor kurzen eine Englische Version von Server 2008 R2 besorgt weil ich da etwas versuchen möchte. Auf Grund der Englischen Versino werden sachen ... von TS-Forum, in Windows Server
DSL, VDSL
Frage: Hallo, da der Vertrag unseres Vormieters noch eine Weile läuft und er bei der nicht kulanten Telekom ist, haben wir jetzt seine DSL-Zugangsdaten erhalten. Leider hat er mir ... von Bierkistenschlepper, in DSL, VDSL
Exchange Server
Frage: Hallo zusammen, ich habe seit heute ein Problem beim Outlook-Start auf dem Server: plötzlich meldet mir Outlook diese Fehlermeldung und das er meinen Name nicht auflösen kann. Am ... von malika, in Exchange Server