2
我想在vbscript中做一些文本替換。問題是這個文件大小是150MB。以下是刪除標題行並刪除空白行的功能。在讀取大文件時系統內存不足的問題
正如我曾懷疑它給在cleanHeaderRow
子行的「內存不足」錯誤。在這一刻,我不確定這個任務是否可以在VBScript中完成。但是在我開始探索其他語言之前,任何建議都會受到歡迎。
Sub cleanHeaderRow(browse)
MsgBox browse
Const FOR_READING = 1
Const FOR_WRITING = 2
'strFileName = "C:\scripts\test.txt"
strFileName = browse
iNumberOfLinesToDelete = 1
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
strContents = objTS.ReadAll
objTS.Close
arrLines = Split(strContents, vbNewLine)
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)
For i=0 To UBound(arrLines)
If i > (iNumberOfLinesToDelete - 1) Then
objTS.WriteLine arrLines(i)
End If
Next
End Sub
Sub DeleteBlankRows(browse)
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(browse, ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.Readline
strLine = Trim(strLine)
If Len(strLine) > 0 Then
strNewContents = strNewContents & strLine & vbCrLf
End If
Loop
objFile.Close
Set objFile = objFSO.OpenTextFile(browse, ForWriting)
objFile.Write strNewContents
objFile.Close
End Sub
文本文件中有多少行? –
Excel有1048576行,所以你可能想嘗試在Excel中打開它? –
它不是一個excel文件。它的管道分隔文件有26萬行,每行有55列。 –