Administrator Startseite

Apple

iOS, iTunes, Mac OS X

Entwicklung

Assembler, BASIC, Batch & Shell, Bibliotheken & Toolkits, CSS, C und C++, Datenbanken, HTML, IDE & Editoren, Installation, Java, JavaScript, KiXtart, Lizenzierung, Pascal & Delphi, Perl, PHP, Python, VB for Applications, Visual Studio@, Webentwicklung, XML

Hardware

Benchmarks, Cluster@, CPU, RAM, Mainboards, Drucker und Scanner, Festplatten, Raid, Grafikkarten & Monitore, LAN, WAN, Wireless@, Multimedia & Zubehör, Notebook & Zubehör, Router & Routing@, SAN, NAS, DAS, Server-Hardware, Sonstige Peripheriegeräte, Speicherkarten, Switche und Hubs

Internet

Blogs, CMS, Domain Registrierung, E-Books, E-Business, E-Mail, Flatrates, Hosting & Housing, Informationsdienste, Instant Messaging, Onlinedienste, SEO, Server, Soziale Netzwerke, Utilities, Webbrowser

Linux

Apache Server, Debian, Desktop, Netzwerk, OpenOffice, LibreOffice, RedHat, CentOS, Fedora, Samba, Suse, Tools & Utilities, Ubuntu, Userverwaltung

Microsoft

Exchange Server, Hyper-V@, Installationsprobleme, Netzwerk, Office, Outlook & Mail, Systemdateien, Tools & Utilities, Userverwaltung, Visual Studio@, Windows 7, Windows 8, Windows Phone, Windows Server, Windows Vista, Windows XP

Multimedia

Audio, Digitiales Fernsehen, Grafik, Icons, Schriftarten, Video

Netzwerke

Cluster@, DNS, DSL, VDSL, Groupware, Grundlagen, ISDN & Analoganschlüsse, LAN, WAN, Wireless@, Monitoring, Netzwerkmanagement, Netzwerkprotokolle, Router & Routing@, TK-Netze & Geräte, UMTS, EDGE & GPRS, Voice over IP

Off Topic

Administrator.de Feedback, Humor (lol), Papierkorb

Sicherheit

Backup, Erkennung und -Abwehr, Firewall, Grundlagen, Informationsdienste, Rechtliche Fragen, Sicherheits-Tools, Tipps & Tricks, Verschlüsselung & Zertifikate, Viren und Trojaner

Sonstige Systeme

Google Android, MikroTik RouterOS, Novell Netware, Sun Solaris

Virtualisierung

Hyper-V@, KVM, Vmware, Xenserver

Weiterbildung

Aus- und Weiterbildung, Ausland, Schulung & Training, Studentenjobs & Praktikum

Zusammenarbeit

Biete Zusammenarbeit, Suche Projektpartner
Weniger Werbung?
Cover IT-Administrator
In der Juni-Ausgabe des IT-Administrator Magazins dreht sich alles um den Schwerpunkt 'Monitoring & Dokumentation'. So zeigen Ihnen die Redaktion unter anderem, wie die Netzwerküberwachung in heterogenen Umgebungen mit Zenoss funktioniert und auf welchem Weg Sie Leistungsdaten von Windows-Clients mit der PowerShell abfragen. Daneben lesen Sie, wie Sie die I/O-Last auf Ihren Servern im Blick behalten und Ihr Red Hat Enterprise Linux auf Trab bringen. ... mehr
Mitglied: StefanLausL
10.07.2009, aktualisiert 18.10.2012, 9926 Aufrufe, 13 Kommentare

GELÖSTnur bestimmte Spalten aus csv Datei auslesen

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:38 Uhr
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. face-sad
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 verlesenface-smile

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 Geschehenface-smile

Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Off Topic
Information: Ich wünsche allen Administratoren und die die es noch werden wollen einen wunderschönen SysAdminDay! Ich hoffe eure Anwender denken an euch! Grüße Lenny ... von lenny4me, in Off Topic
Diese Inhalte könnten dich auch interessieren
Batch & Shell
Frage: Hallo Community, bei der Suche nach einer Antwort für mein Problem bin ich auf dieses Forum gestoßen und hoffe hier Hilfe zu finden. Leider glaube ich, um mein ... von knotenknut, in Batch & Shell
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 versuche aus einer CSV Datei Namen auszulesen und dann auf einen Exchange Server ein user Attribut zu ändern. Das Script läuft durch, aber es wird ... von gabi1305, in Batch & Shell
VB for Applications
Frage: Hallo zusammen, ich bin in Sachen VBS ein totaler Anfänger und hoffe, dass ihr mir bei einem Problem helfen könnt. Ich möchte eine CSV-Datei per VBS verändern. Die ... von scorpionesc83, in VB for Applications
Batch & Shell
Frage: Hallo zusammen Am liebsten hätte ich den "Biber (Level 5 oder jetzt noch höher?)" für meine Frage. Hallo Biber! Gibt es dich noch? Für dich ist meine Frage ... von Haru777999, in Batch & Shell
Heiß diskutierte Inhalte
Viren und Trojaner
Frage: Hi, Das ist eine Semi-ernstgemeinte Frage. Symantec ist nicht der Erste Anbieter welcher gesagt hat das Anti-Virensoftware tot ist ). Was ist jedoch dann nutzbar? Auf AV kann ... von cymode, in Viren und Trojaner
Grafikkarten & Monitore
Frage: Hallo und guten Tag, ich stehe vor dem Problem, das ich eine neue Grafikkarte erworben habe und nicht weiss, was sie richtig kann. Es scheint mir so, als ... von airline, in Grafikkarten & Monitore
Off Topic
Information: Ich wünsche allen Administratoren und die die es noch werden wollen einen wunderschönen SysAdminDay! Ich hoffe eure Anwender denken an euch! Grüße Lenny ... von lenny4me, in Off Topic
Exchange Server
Frage: Hallo! Ich habe bei der Installation von Exchange Server 2013 auf einem Server 2012r2 immer folgenden Fehler: Error: Installing product D:\exchangeserver.msi failed. Schwerwiegender Fehler bei der Installation. Error ... von NES-SEEVETAL, in Exchange Server
Windows 7
Frage: Hallo Zusammen, ich hab mal wieder ein Thema wo ich eine zweite oder weitere Meinung(en) brauche. Szenario: - einige Windows 7 Pro Client teil einer AD-Domäne. - Die User haben ... von uLmi, in Windows 7