calim3ro
Goto Top

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

Content-Key: 258984

Url: https://administrator.de/contentid/258984

Printed on: April 16, 2024 at 15:04 o'clock

Mitglied: 114757
Solution 114757 Jan 06, 2015 updated at 11:20:42 (UTC)
Goto Top
Moin Calimero,
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
Gruß jodel32

-edit- habe noch einen kleinen Fehler in Zeile 22 korrigiert
Member: Calim3ro
Calim3ro Jan 06, 2015 updated at 11:22:26 (UTC)
Goto Top
Hallo jodel32

Yes, perfekt!

Musste nur noch in Zeile 22 set objFile... setzten, da ansonsten eine Fehlermeldung aufpopte.

Anstatt OpenTextFile habe ich CreateTextFile gewählt, aber das ist Detail.

Besten Dank für Deine schnelle Hilfe!

Gruss Calimero

Ah, Fehlerkorrektur zu spät gesehen. face-smile
Mitglied: 114757
114757 Jan 06, 2015 at 14:24:32 (UTC)
Goto Top
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. face-wink