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

Datensätze ordnen

Mitglied: xfrostx

xfrostx (Level 1) - Jetzt verbinden

10.10.2007, aktualisiert 17.10.2007, 3161 Aufrufe, 6 Kommentare

Hallo zusammen,
da ich fast keine ahnung von programmierung habe und mich hier auch nicht durchlesen konnte. muss ich euch um einen kleinen rat, vielleicht sogar um eine lösung bitten.
also ich habe einen kunden der 8000000 Datensätze hat die total ungeordnet in eienr .txt datei abgelegt sind. diese datensätze sehen so aus! diese sollen oder können in irgend ein programm eingelesen werden zum verarbeiten, nur muss nach dem ordnen diese dateien wieder in einer .txt datei ausgegeben werden.

225356373
a2 1
a3 1
b4 2
aaa 1


22345643
fsf 1
djud 1
uzt 1
tae 2
gtw 1
kts 1
dtr 1

Man sieht, das z.b. vor der 22345643 ein leerzeichen ist, dies ist bei jedem datensatz unterschiedlich, mal ist ein leerzeichen da mal ist kein vorhanden...
dadrunter diese --> fsf djud und 1 etc. müssen nun hinter diese lange zahl angeordnet werden.

z.b. so...
225356373 a21 a31 b42 aaa1
22345643 fsf1 djud1 uzt1 tae2 etc.

es ist egal ob diese durch ein leerzeichen oder in komma getrennt werden.

es wär sehr schön von euch wenn ihr mir eine lösung vorschlagen oder schon schreiben könntet.

vielen dank schonmal

frosty
Mitglied: bastla
12.10.2007 um 22:08 Uhr
Hallo xfrostx!

Unter der Annahme, dass je Datensatz eine gleich bleibende Anzahl von Zeilen (lt Deinem Beispiel etwa 8) in der Textdatei steht, könntest Du es mit folgendem VBScript versuchen:
01.
Const Ein = "D:\Daten.txt" 
02.
Const Aus = "D:\Daten.csv" 
03.
Const Zeilen = 8 
04.
Const Delim = "," 
05.
 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
Set oEin = fso.OpenTextFile(Ein, 1) 
08.
set oAus = fso.OpenTextFile(Aus, 2, True) 
09.
 
10.
Do While Not oEin.AtEndOfStream 
11.
	sZeile = Trim(oEin.ReadLine) 
12.
	For i = 1 To Zeilen - 1 
13.
		If Not oEin.AtEndOfStream Then 
14.
			sZeile = sZeile & Delim & Replace(oEin.ReadLine, " ", "") 
15.
		End If 
16.
	Next 
17.
	oAus.WriteLine sZeile 
18.
Loop 
19.
oEin.Close 
20.
oAus.Close 
21.
WScript.Echo "Fertig."
Das gewünschte Trennzeichen kannst Du in der Zeile
01.
Const Delim = ","
festlegen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.10.2007 um 21:55 Uhr
Moin xfrostx,

ich weiß ja nicht, ob Du vorhast ein Feedback zu liefern - viele machen das ja von sich aus.
Da ich auch Dir ja nur die besten Absichten unterstelle, lass mich doch gleich nochmal nachfragen:

Du erwähntest, dass Du zwar schon mindestens einen Kunden hast, aber keinen Plan, wie Du diese mäßig strukturierten Daten ordnen willst.

Bei 8 Millionen Datensätzen hast Du doch aber vermutlich wenigstens eine ungefähre Vorstellung, wo Du damit hinwillst...

Diese Rumsortiererei in eine Zeile pro "Datensatz" ist ja schon ganz rührend und schadet ja auch bestimmt nichts, aber wenn Dein gepostetes Beispielfragment halbwegs lebensnah ist, dann steht doch nach der identifizierenden Nummer auch Zeugs, das doch wohl auch Äpfel und Birnen beschreibt. Und so kaum in Datenbankfelder eingelesen werden kann.

So wie gepostet macht jedenfalls der ganze Aufwand keinen Sinn - magst Du nicht lieber den ganzen Sachverhalt schildern und Deinen Plan, damit umzugehen?

Denn die Übertragbarkeit einer auf die obige Beschreibung zusammengeharkten Skriptlösung auf eventuelle Probleme anderer Forumsmitglieder sehe ich bis jetzt eher gering.

Grüße
Biber
Bitte warten ..
Mitglied: xfrostx
16.10.2007 um 12:26 Uhr
Hallo,

sorry erstmal das ich erst so spät zurückschreibe, habe aber momentan soviel um die ohren. aber ich kann euch verstehen .

ja ne, das funktioniert so auch nicht, weil mit einer konstanten von acht zu arbeiten ist sinnlos. die zeilen varieren... man muss mit ner freien variablen arbeiten. aber die idee es in eine csv datei auszugeben ist schon ganz gut. vielleicht habt ihr da ja noch ne ahnung wie wir das hinbekommen könnten.
Bitte warten ..
Mitglied: SvenGuenter
17.10.2007 um 09:22 Uhr
Hast du keinen fixen Delemiter den man nehmen kann um zu erkennen wann der eine Datensatz aufhört udn der andere anfängt? Normalerweise wird das doch gemacht. Also ein <CR> oder ein <CRLF>

Wenn da keiner ist fällt mir kein Weg ein auch nur ansatzweise eine sichere Lösung zu finden die sauber die Datensätze trennt.

Gruß

Sven
Bitte warten ..
Mitglied: Biber
17.10.2007 um 09:30 Uhr
Moin Sven,

der nächstschlechtere Plan wäre dann der Versuch der Identifizierung der Pseudo-IDs ( oben im Bsp "22345643" oder so ähnlich) - wenn das die einzigen Zeilen sind, die nur aus Ziffern (und trailing blanks) bestehen.

Nichtsdestotrotz - ich sehe dennoch noch nichts, was ich einem potentiellen Kunden gegenüber auch nur scherzhaft als Konzept verkaufen könnte.

Erstmal alle Datensätze in eine Zeile zu bringen und dann mal sehen... wenn das der ganze Plan für 8 Mio Datensätze ist, dann warte ich lieber auf Plan B.

Grüße
Biber
Bitte warten ..
Mitglied: SvenGuenter
17.10.2007 um 09:40 Uhr
Hi Biber,

die Idee kam mir auch schon aber sicher ist dies nicht wenn in der Folgezeile auch auf Einmal was mit einer Zahl beginnt.


Dieses nur nach Zahlen schauen kann sehr in die Hose gehen und ist wie gesagt sehr ungenau meines erachtens. Ich weiß nicht wie du dadrüber denkst.
Man müßte mal einen Teil der Datei im Original sehen dann kann man sich da besser Gedanken drüber machen, da ich schon oft erlebt habe das Poster nicht alle Dateiinformationen gepostet haben oder diese nicht sehen konnten weil sie nicht mit UltraEdit32 oder ähnlichen Tools gearbeitet haben.


Gruß

Sven
Bitte warten ..
Ähnliche Inhalte
Datenbanken

SQL: Anzahl von Datensätzen bei JOIN

Frage von BirdyBDatenbanken2 Kommentare

Hallo zusammen, ich stehe gerade etwas auf dem Schlauch und hoffe auf eure Hilfe. Gegeben sind in unserer SQL ...

Microsoft Office

Serienbrief Nächster Datensatz Wenn

Frage von Druide83Microsoft Office2 Kommentare

Hallo, ist das erste mal dass ich mit Serienbriefen in Word zu tun habe und mir fehlt auch nur ...

PHP

PHP soll Datensätze in der Datenbank überprüfen

Frage von YanmaiPHP2 Kommentare

Hallo ihr Administratoren ;) Ich habe eine Datenbanktabelle "Freundschaftsanfragen". Wenn Benutzer a Benutzer b eine Freundschaftsanfrage schickt, dann wird ...

PHP

MySQL Update eines Datensatz mit Variable

gelöst Frage von Jens4everPHP4 Kommentare

Hallo zusammen, ich habe jetzt 2 h gesucht und versucht und komme gerade nicht weiter Ich habe eine Mail-Verifizierung ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 12 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 20 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit17 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Windows Installation
Kleines Büro - wie PCs einrichten? Domaincontroller sinnvoll?
Frage von Jonas42Windows Installation13 Kommentare

Hallo zusammen, ich überlege derzeit mal wieder, ob ich unsere IT ändern sollte. Es handelt sich um ein Ingenieurbüro ...