Vergessen?
Vergessen?
Administrator Startseite

Apple

iOS, iTunes, Mac OS X

Entwicklung

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

Hardware

Benchmarks, @Server Cluster, CPU, RAM, Mainboards, Drucker und Scanner, Festplatten, Raid, Grafikkarten & Monitore, @Netzwerkkarten, Multimedia & Zubehör, Notebook & Zubehör, @Router und 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
Cover IT-Administrator
Für die Mai-Ausgabe hat sich das IT-Administrator Magazin den Schwerpunkt "Messaging & Collaboration" auf die Fahnen geschrieben. Lesen Sie darin, wie Sie die Open Source-Groupware Open-Xchange App Suite in Betrieb nehmen und administrieren. Außerdem zeigen wir Ihnen, wie Sie sich vor Viren und Spam mit Proxmox 3.1 schützen. Nicht zuletzt befassen wir uns mit der administrativen Sicherheit und Überwachung in Exchange Server 2013. In den ... mehr
StefanLausL am 10.07.2009, aktualisiert am 18.10.2012, 9426 Aufrufe

nur 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.
13 Antworten
Mitglied: crashzero2000
0
crashzero2000 am 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-
0
-ricardo- am 10.07.2009 um 11:38 Uhr
Bitte warten ..
Mitglied: -ricardo-
0
-ricardo- am 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
0
StefanLausL am 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
0
StefanLausL am 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-
0
-ricardo- am 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
0
60730 am 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
0
76109 am 10.07.2009 um 13:50 Uhr
Hallo StefanLausL!

Sorry, habe mich verlesenface-smile

Gruß Dieter
Bitte warten ..
Mitglied: StefanLausL
0
StefanLausL am 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
0
76109 am 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
0
76109 am 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
0
StefanLausL am 10.07.2009 um 16:20 Uhr
Super !

Vielen,vielen Dank.

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

Prima, gern Geschehenface-smile

Gruß Dieter
Bitte warten ..
Mehr Neuester Wissensbeitrag
Outlook & Mail
Anleitung: Wir haben hier ein immer mal wieder auftretendes Szenario. Wir haben mehrere Outlook Versionen im Einsatz. Vorwiegend 2007 & 2010. Während der Ausbildung das Azubis wandern diese von ... von TechnoX, Thema: Outlook & Mail
Mehr 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, Thema: 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, Thema: VB for Applications
Batch & Shell
Frage: Hallo an die Community, ich habe ein Script geschrieben um anhand einer CSV Datei Bulk User in die AD zu Importieren. Die CSV Datei erfrage ich alle 15 ... von ivaylo53, Thema: Batch & Shell
VB for Applications
Frage: Hallo liebe Leute, ich würde gerne von einem Makro aus ein Datenfeld auslesen, dass in einer anderen Datei liegt. Genauer: 'das Makro startet ein Makro in einer anderen ... von jaydotkay, Thema: VB for Applications
Batch & Shell
Frage: Hallo Com, Ich habe eigentlich ein relativ simples Problem. Meine Ausgangsdatei ist so aufgebaut: 0,00h 1,00h 2,18h 3,00h 4,00h 5,00h 6,00h 7,00h 8,00h 9,00h 10,00h 11,00h 12,00h 13,00h ... von AllForOne94, Thema: Batch & Shell
Heiß diskutierte Inhalte
Exchange Server
Frage: Hey Leute. Ganz einfachere Sache aber für mich gerade unerklärlich Ich habe als Smarthost post.strato.de angegeben und eben einen benutzer um sich zu authentifizieren. Aber er sendet keine ... von bloodking, Thema: Exchange Server
Windows Server
Frage: Guten Morgen zusammen, wir, ein kleines Unternehmen mit 12 Mitarbeitern arbeiten momentan auf einem SBS2008. Die Administration erfolgt aktuell noch durch mich (eigentlich kein ausgebildeter IT Fachmann, jedoch ... von Pate661, Thema: Windows Server
Windows 7
Frage: Hallo, ich finde einen vom Kunden installierten Rechner mit w7 prof. Einziger user ist admin der aber in einigen Verzeichnissen nicht schreiben darf. ( die zu installierende software ... von schattenhacker, Thema: Windows 7
Office
Frage: Hallo da draussen, Ich habe mal wieder eine Problemstellung bei der ich eure Hilfe brauche. Ich habe, in Outlook 2010, einen Ordner in dem ich generierte Emails empfange ... von Gundelputz, Thema: Office
Festplatten, Raid
Frage: Hallo zusammen, ich habe noch eine 500 GB SATA Platte rumliegen, welche ich in einen alten Pentium 4 (Fileserver) einbauen wollte. Der P4 hat das ASROCK 775v88 Mainboard, ... von bytetix, Thema: Festplatten, Raid