Zählen von Nummern in Textfile
Hallo zusammen
Gerne möchte ich mir ein VB-Script basteln, jedoch fehlt mir dazu noch einiges an Wissen und im Forum & google habe ich nichts entsprechendes gefunden.
Zum Fall:
Ich habe ein Textfile (ca.50MB) mit 7-Stelligen Nummern, welche untereinander angeordnet sind. Die Nummern kommen in dem File mehrmals vor.
Beispiel:
1234567
9876543
1234567
1234567
Nun möchte ich wissen, wievielmal die jeweilige Nummer in dem File vorkommt und das Ergebniss in ein Textfile schreiben.
1234567 = 3x
9876543 = 1x
Kann mir jemand ein VB-Script schreiben oder mir Tipps geben, wie dies zu erreichen ist?
Bei Unklarheiten oder Fragen, einfach nachfragen.
Besten Dank im Voraus
Gruss Calimero
Gerne möchte ich mir ein VB-Script basteln, jedoch fehlt mir dazu noch einiges an Wissen und im Forum & google habe ich nichts entsprechendes gefunden.
Zum Fall:
Ich habe ein Textfile (ca.50MB) mit 7-Stelligen Nummern, welche untereinander angeordnet sind. Die Nummern kommen in dem File mehrmals vor.
Beispiel:
1234567
9876543
1234567
1234567
Nun möchte ich wissen, wievielmal die jeweilige Nummer in dem File vorkommt und das Ergebniss in ein Textfile schreiben.
1234567 = 3x
9876543 = 1x
Kann mir jemand ein VB-Script schreiben oder mir Tipps geben, wie dies zu erreichen ist?
Bei Unklarheiten oder Fragen, einfach nachfragen.
Besten Dank im Voraus
Gruss Calimero
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 258984
Url: https://administrator.de/contentid/258984
Ausgedruckt am: 24.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
Moin Calimero,
nix leichter als das ....
Gruß jodel32
-edit- habe noch einen kleinen Fehler in Zeile 22 korrigiert
nix leichter als das ....
const TEXTIN = "c:\daten.txt"
const TEXTOUT = "c:\daten_count.txt"
dim fso, dic, arrContent, line, objFile
set fso = CreateObject("Scripting.FilesystemObject")
set dic = CreateObject("Scripting.Dictionary")
arrContent = Split(fso.OpenTextfile(TEXTIN,1).ReadAll(),vbNewline)
For each line in arrContent
line = Trim(line)
If line <> "" Then
If not dic.Exists(line) then
dic.add line,1
Else
dic.Item(line) = CDbl(dic.Item(line)) +1
End if
End if
Next
set objFile = fso.OpenTextfile(TEXTOUT,2,True)
keys = dic.keys
For i = 0 to dic.count -1
objFile.WriteLine keys(i) & " = " & dic.Item(keys(i))
Next
objFile.Close
MsgBox "Feddich"
set fso = Nothing
set dic = Nothing
-edit- habe noch einen kleinen Fehler in Zeile 22 korrigiert
Anstatt OpenTextFile habe ich CreateTextFile gewählt.
Das ist in dem Fall Jacke wie Hose, denn mit dem Parameter 2 und True wird erstens eine nicht vorhandene Textdatei erstellt und durch den Parameter 2 bei vorhandensein der Datei überschrieben.