vbscript에서 텍스트 대체를 시도하고 있습니다. 문제는 파일 크기가 150MB라는 것입니다. 다음은 헤더 행을 삭제하고 빈 행을 제거하는 함수입니다.대용량 파일을 읽는 동안 vbscript에서 시스템 메모리 부족 문제가 발생했습니다.
내가 strContents = objTS.ReadAll
cleanHeaderRow
sub에 "out of memory"오류를 내고 있다고 의심했기 때문에. 이 작업이 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에서 열어 볼 수 있습니까? –
파일이 아닙니다. 26 만 개의 행을 가진 파이프로 구분 된 파일이고 각 행에는 55 개의 열이 있습니다. –