Hallo Forum,
da ich nun schon seit 2 Tagen nach einer schnellen Lösung suchte um große CSV Dateien auszulesen bin ich im Entwicklerforum auf ein kurzes Skript gestoßen welches bei mir allerdings nicht funtionierte.
Ich habe es deshalb etwas umgeschrieben und dachte daß es vielleicht mal jemand für nützlich erachten könnte.
Ich habe hier eine CSV Datei mit 1,8 Millionen Zeilen in 165 ms ausgelesen (Anzahl der Zeilen ermittelt). Das CSV File ist 80Mb groß.
Man benötigt dafür GNUWin32 installiert und daraus den wc und cut Befehl (ist in den CoreUtils).
AutoIt
#include <Timers.au3>
Local $GNU = "C:\Program Files (x86)\GnuWin32\bin"
Local $ReadFile = @MyDocumentsDir&"\CSV\Readme.csv"
Local $SaveFile = @MyDocumentsDir&"\CSV\Count.txt"
Local $starttime = _Timer_Init()
RunWait(@ComSpec & ' /c wc -l '&$ReadFile&' | cut -d " " -f 1 > '&$SaveFile, $GNU, @SW_HIDE)
ConsoleWrite(@CRLF & "Datei Groesse(MB) : " & Round((FileGetSize($ReadFile) / 1048576), 2))
ConsoleWrite(@CRLF & "Zeilen : " & FileReadLine($SaveFile))
ConsoleWrite(@CRLF & "Dauer (ms) : " & Round(_Timer_Diff($starttime), 2) & @CRLF)
Weis nicht ob das hier schon mal besprochen wurde....