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

Text Datei Splitten

Mitglied: Praktikantin

Praktikantin (Level 1) - Jetzt verbinden

15.12.2008, aktualisiert 17.12.2008, 5009 Aufrufe, 3 Kommentare

Visual Basic oder Script erstellen.

Hallo liebe Community,

ich habe diese Textdatei:

11#999842977#999842977#0#ΥΤΔΑ#ΥΤΔΑ00020476#20080103#200801031234567890123#20#83.10#7.48#90.58#30.00#11#1#001-0006#5204564000079#Prod_dec1#14.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#38.78#9.00#3.49#42,27
11#999842977#999842977#0#ΥΤΔΑ#ΥΤΔΑ00020476#20080103#200801031234567890123#20#83.10#7.48#90.58#30.00#11#2#001-0011#5204564000161#Prod_dec2#16.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#44.32#9.00#3.99#48,31


Wie ihr alle sehen könnt is es eine Bestellung. Das Problem ist dass ich diese Datei splitten muss um 2 Dateien zu bekommen (Header und Details). Die erste Datei soll diesen inhalt haben:

Header

11#999842977#999842977#0#ΥΤΔΑ#ΥΤΔΑ00020476#20080103#200801031234567890123#20#83.10#7.48#90.58#30.00

die zweite dann

Lines
11#1#001-0006#5204564000079#Prod_dec1#14.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#38.78#9.00#3.49#42,27
11#2#001-0011#5204564000161#Prod_dec2#16.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#44.32#9.00#3.99#48,31

Die 11 ist die Referrence number die zeigt dass detail und header zusammen gehören (wie ein Schlüssel) und die Zahl dannach ist die Line number. 11#1# 11#2#
Diese # Zeichen sind immer so viele, die Datei hat also immer dieses Format. Was soll ich denn hier machen? Die Hash's zählen und es dann so trennen? Und wie soll ich es machen dass der Header nicht immer wieder wiederholt wird? Bitte hilft mir!!! Ich habe gar keine Ahnung!!! Weiß auch nicht wo ich so etwas ähnliches finden kann...

Danke im voraus
Julia
Mitglied: bastla
15.12.2008 um 20:52 Uhr
Hallo Praktikantin!
Die Hash's zählen und es dann so trennen?
Zählen ja, aber selbst und nur einmal (damit die Anzahl der Felder für den Header bekannt ist - ich komme auf 17 Felder); für's Trennen gibt es "Split()" ...

Aussehen könnte das dann etwa so:
01.
FileIn =         "D:\Bestellung.txt" 
02.
FileOutHeader =  "D:\Header.txt" 
03.
FileOutDetail =  "D:\Detail.txt" 
04.
 
05.
NoFieldsHeader = 17  'Feldanzahl für Header 
06.
Delim =          "#" 'Trennzeichen 
07.
 
08.
Set fso = CreateObject("Scripting.FileSystemObject") 
09.
Set HeaderFile = fso.CreateTextFile(FileOutHeader, True) 
10.
Set DetailFile = fso.CreateTextFile(FileOutDetail, True) 
11.
 
12.
Lines = Split(fso.OpenTextFile(FileIn).ReadAll, vbCrLF) 'gesamten Text zeilenweise in Array einlesen 
13.
 
14.
For i = 0 To UBound(Lines)              'Alle Textzeilen durchgehen 
15.
    If Trim(Lines(i)) <> "" Then        'Soferne die Zeile nicht leer ist ... 
16.
        Fields = Split(Lines(i), Delim) '... in Felder aufteilen, ... 
17.
        Header = Fields(0)              '... erstes Feld in Variable schreiben (löscht damit alten Inhalt) ... 
18.
        For j = 1 To NoFieldsHeader-1   '... und die restlichen Felder ... 
19.
            Header = Header & Delim & Fields(j) '... jeweils nach einem Trennzeichen hinzufügen, ... 
20.
        Next                            '... sodass der Header inkl Tennzeichen zusammengesetzt wird 
21.
        If Header <> LastHeader Then    'Nur einen neuen Header ... 
22.
            HeaderFile.WriteLine Header '... schreiben ... 
23.
            LastHeader = Header         '... und merken 
24.
        End If 
25.
        DetailFile.WriteLine Mid(Lines(i), Len(Header) + 2) 'In der Originalzeile beginnt der Detailbereich an der 2. Stelle nach dem Header 
26.
    End If 
27.
Next 
28.
DetailFile.Close 
29.
HeaderFile.Close
Grüße
bastla
Bitte warten ..
Mitglied: Praktikantin
15.12.2008 um 21:38 Uhr
Vielen lieben Dank!!!! Wow, was für eine Schnelle Antwort!!!! So etwas könnte ich mir nie und nimmer selbst ausdenken und so schnell!!! Ich kann Dir wirklich nicht genug danken!!!!!! Noch einmal vielen, vielen Dank!!!!!!!!!!!!!!!!!!
Bitte warten ..
Mitglied: kruder77
17.12.2008 um 14:45 Uhr
Da es sich um strukturierte Text Dateien handelt, würde ich
den TextFileParser einsetzen...

--> Microsoft.VisualBasic.FileIO.TextFieldParser

Grüße
Kruder
Bitte warten ..
Ähnliche Inhalte
XML
XML Datei mit Powershell splitten
gelöst Frage von LianenSchwingerXML2 Kommentare

Hallo, ich habe eine riesige Exportdatei im XML-Format die ich nicht weiterverarbeiten kann. Der Aufbau ist wie folgt: Ich ...

Batch & Shell
Text Datei in csv-Datei umwandeln
gelöst Frage von Haru777999Batch & Shell2 Kommentare

Hallo zusammen Am liebsten hätte ich den "Biber (Level 5 oder jetzt noch höher?)" für meine Frage. Hallo Biber! ...

VB for Applications
csv Dateien als Text importieren
gelöst Frage von BacchidaVB for Applications7 Kommentare

Hallo :) ich habe ein Makro geschrieben, das .csv Dateien importiert. Nun habe ich folgendes Problem: In den importierten ...

Batch & Shell

Auslesen einer Datei mit einem Anführungszeichen im Text

Frage von c20082005Batch & Shell1 Kommentar

Hallo zusammen, ich habe ein Problem, das ich auch nach einiger Recherche im Internet nicht gelöst bekomme: Ich habe ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 13 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 16 StundenAdministrator.de Feedback11 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 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 1 TagGoogle 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 ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

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

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...