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列。 –