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 Per Batch CSV Datei zeilenweise bereinigen

Mitglied: yakazaa

yakazaa (Level 1) - Jetzt verbinden

22.01.2015, aktualisiert 23.01.2015, 1279 Aufrufe, 2 Kommentare, 1 Danke

Hallo zusammen,

ich muss eine CSV Datei in ein Programm importieren, die im Prinzip SO aussieht:


01.
H203000;;Überschrift 1 
02.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (beliebig viele Simikolons (oder Simikolonne? :D)) 
03.
1.0 Artikelgruppe 1 
04.
1.0.1 Artikelgruppen Unterkategorie 1 
05.
H203010;;H203010 Artikel 1;;;;;12,60;;; 
06.
H203020;;H203020 Artikel 2;;;;24,20;;;; 
07.
H203030;;H203030 Artikel 3;;;24,20;;;;; 
08.
 
09.
1.0.2 Artikelgruppen Unterkategorie 2 
10.
H203000;;Überschrift 2 
11.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (wieder beliebig viele Simikolonien..) 
12.
H204010;;H204010 Artikel 1;;;;;12,60;;; 
13.
H204020;;H204020 Artikel 2;;;;24,20;;;; 
14.
H204030;;H204030 Artikel 3;;;24,20;;;;;
Soweit so schlecht, denn in meinem Programm sollen hinterher nur die Zeilen übernommen werden, in denen auch tatsächlich Artikel stehen - keine Überschriften oder sonstiger Murks.

Zu allem Überfluss hab ich davon aktuell 5, bald aber noch mehr Dateien, in denen die Artikelnummern mal wie hier Hxxxxx sind, dann mal wieder Sxxxxx, usw.

Jetzt soll ein BATCH Script für mich aufräumen, daher meine Idee:

01.
@ECHO OFF 
02.
 
03.
SET Art_Nr_Prefix=H 
04.
SET FILENAME=preise_a 
05.
 
06.
FINDSTR /c:"^%Art_Nr_Prefix%.......%Art_Nr_Prefix%" /g:"%FILENAME%.txt">%FILENAME%_sauber.csv
Klappt aber nicht, kommt nur eine Fehlermeldung "FINDSTR: Cannot read strings from preise_a.txt"
Wo liegt mein Fehler?
Mitglied: bastla
LÖSUNG 22.01.2015, aktualisiert 23.01.2015
Hallo yakazaa!

Eher so:
01.
@ECHO OFF & setlocal 
02.
 
03.
SET "Art_Nr_Prefix=H" 
04.
SET "FILENAME=preise_a" 
05.
 
06.
FINDSTR "^%Art_Nr_Prefix%......;;%Art_Nr_Prefix%" "%FILENAME%.txt">"%FILENAME%_sauber.csv"
oder mit Zeile 6
FINDSTR "^%Art_Nr_Prefix%[0-9][0-9][0-9][0-9][0-9][0-9];;%Art_Nr_Prefix%" "%FILENAME%.txt">"%FILENAME%_sauber.csv"
[Edit]
Wenn Du tatsächlich verschiedene Prefixes berücksichtigen musst und gleich alle Dateien eines Ordners verarbeiten willst, würde ich eine Datei "D:\Artikel.pre" mit dem Inhalt
01.
^H......;;H 
02.
^S......;;S 
03.
^X......;;X 
04.
^Y......;;Y
erstellen und etwa folgenden (ungetesteten) Code verwenden:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Artikeldaten" 
03.
 
04.
pushd "%Ordner%" 
05.
for /f "delims=" %%i in ('dir /b/a-d *.txt') do findstr /g:"D:\Artikel.pre" "%%i">"%%~ni_sauber.csv" 
06.
popd
[/Edit]

Grüße
bastla

P.S.:
beliebig viele Simikolons (oder Simikolonne? :D)
Eins von der Sorte ist jedenfalls sicher ein Semikolon ...
Bitte warten ..
Mitglied: yakazaa
23.01.2015 um 09:24 Uhr
Zitat von bastla:
01.
... 
02.
>  
03.
> FINDSTR "^%Art_Nr_Prefix%......;;%Art_Nr_Prefix%" "%FILENAME%.txt">"%FILENAME%_sauber.csv" 
04.
> 

Perfekt, tut genau was es soll!!
Vielen, vielen Dank!!

Wenn Du tatsächlich verschiedene Prefixes berücksichtigen musst und gleich alle Dateien eines Ordners verarbeiten
willst, würde ich eine Datei "D:\Artikel.pre" mit dem Inhalt
01.
^H......;;H 
02.
> ^S......;;S 
03.
> ^X......;;X 
04.
> ^Y......;;Y 
05.
> 
erstellen und etwa folgenden (ungetesteten) Code verwenden:
01.
@echo off & setlocal 
02.
> set "Ordner=D:\Artikeldaten" 
03.
>  
04.
> pushd "%Ordner%" 
05.
> for /f "delims=" %%i in ('dir /b/a-d *.txt') do findstr /g:"D:\Artikel.pre" 
06.
> "%%i">"%%~ni_sauber.csv" 
07.
> popd 
08.
> 

Sowas hatte ich zuerst auch überlegt, allerdings bin ich dafür zu blöd gewesen ;)
Ich muss die Dateien vorher allerdings eh sichten, da ist das kein Problem eben das Prefix anzupasssen - und dafür verstehe ich auch, was mein Script macht ;)

P.S.:
> beliebig viele Simikolons (oder Simikolonne? :D)
Eins von der Sorte ist jedenfalls sicher ein Semikolon ...
Wie recht du hast, wieso kann ich mir das einfach nicht merken?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien aus CSV mit Batch suchen
gelöst Frage von joes1609Batch & Shell5 Kommentare

Hallo zusammen, ich stehe gerade auf dem Schlauch. Ich habe eine CSV-Datei, in der stehen zusammengesetzt, jeweils ein kompletter ...

Batch & Shell
Batch: Textdatei Zeilenweise auslesen
gelöst Frage von CreatorXBatch & Shell2 Kommentare

Hallo, ich weiß, zu dem Thema gibt es schon unzählige Threads. Ich hab auch einiges dazu gefunden und trotzdem ...

Batch & Shell

Mehrere CSV Dateien via Batch zu einer CSV-Datei zusammenfassen

gelöst Frage von neokraftBatch & Shell2 Kommentare

Hallo zusammen, vermutlich ein ganz billiges Problem. Ich hab das ganze bisher so versucht: type *.csv >> output.txt ren ...

Batch & Shell

Datei zeilenweise auslesen - es passiert aber nichts

gelöst Frage von NagusBatch & Shell3 Kommentare

Hi zusammen, ich stehe gerade auf dem Schlauch. Ich will mit einem einfachen Script aus einer text-Datei Dateinamen auslesen ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 9 StundenHumor (lol)2 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 22 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 22 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server45 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...