|
假如数据文件都是csv格式,20W个像示例文件大小,不计输出,1小时内可以完成。- Private Fs As New FileSystemObject, Rx As RegExp, n&, a(), s
- Sub TQHM()
- t = Timer
- Set Rx = New RegExp
- Set Fs = New FileSystemObject
- Rx.Global = True
- Rx.Pattern = "\d{11}"
- n = 0
- ReDim a(1 To 1000000, 1 To 1)
- GetFile ThisWorkbook.Path & ""
- [e1] = Timer - t
- Range("a1:a" & n) = a
- End Sub
- Sub GetFile(p$)
- For Each f In Fs.GetFolder(p).Files
- If f Like "*.csv*" Then
- s = Fs.OpenTextFile(f).ReadAll
- For Each c In Rx.Execute(s)
- n = n + 1
- a(n, 1) = c
- Next
- End If
- Next
- For Each pp In Fs.GetFolder(p).SubFolders
- GetFile CStr(pp)
- Next
- End Sub
复制代码 |
|