Voor een projectje moet ik een groot .csv bestand bewerken. De bottleneck in snelheid zit in het inladen van het .csv bestand. Het bestand bestaat uit 100+ kolommen en 200000+ rijen.
Het openen via getobject duurt lang. Het inlezen als textbestand in een array en vervolgens per rij splitsen gaat wel sneller maar lijkt mij omslachtig. Is er een optie om dit sneller te krijgen?
Het openen via getobject duurt lang. Het inlezen als textbestand in een array en vervolgens per rij splitsen gaat wel sneller maar lijkt mij omslachtig. Is er een optie om dit sneller te krijgen?
Code:
Sub test1()
'import230000rijen.csv
'Import_20200816.csv
t = Timer
c00 = "E:\Temp\Import_20200816.csv"
ar = Split(CreateObject("scripting.filesystemobject").opentextfile(c00).readall, vbCrLf) 'vbLf in het orgineel
y = UBound(Split(ar(1), ";"))
ReDim ar1(UBound(ar), y)
For j = 0 To UBound(ar) - 1
x = Split(ar(j), ";")
For jj = 0 To y
ar1(j, jj) = x(jj)
Next jj
Next j
MsgBox Timer - t
End Sub