CSV 合并永无止境
CSV merge never ends
我有一个 VBscript 可以将多个 CSV 文件组合成一个 CSV 文件。该脚本在运行 第一次时完美地合并了文件。但是,当重新运行 将数据附加到现有 CSV 时,进程永远不会结束或无限循环开始。
下面是合并数据的函数。
"FilesToWorkWith" 是一个字典,文件名作为键,文件对象作为值。我希望我已经解释了问题。
Set FilesDict = CreateObject("Scripting.Dictionary")
For each iFile in objFiles
If(CheckExtension(iFile) = True) Then
FilesDict.Add iFile.Name, iFile
End if
Next
Function MergeCSV (UIDReportsFolderLocation,strCombinedUIDFileName)
FilesToWorkWith = FilesDict.Keys
Set outFile = objFSO.OpenTextFile(UIDReportsFolderLocation & "\" & strCombinedUIDFileName & ".csv", ForAppending, CreateIfNotExist, OpenAsASCII)
Dim firstFile
firstFile = True
For Each Key in FilesToWorkWith
Set objFile = objFSO.OpenTextFile(FilesDict(Key), ForReading)
If Not firstFile = True Then
objFile.Skipline
End if
Do
strTemp = objFile.ReadLine
If Not strTemp = "" Then
outFile.WriteLine strTemp
End if
Loop Until objFile.AtEndOfStream = True
objFile.Close
firstFile = False
Next
outFile.close
Set iFile = Nothing
set objFile = Nothing
Set FilesDict = Nothing
Set objFSO = Nothing
End Function
请帮忙...
最明显的原因是您的输出文件正在作为输入文件处理,并且只是循环永远将自身附加到自身。您没有显示 FilesToWorkWith 是如何初始化的,因此无法确定,但这是我首先要查看的地方。
我有一个 VBscript 可以将多个 CSV 文件组合成一个 CSV 文件。该脚本在运行 第一次时完美地合并了文件。但是,当重新运行 将数据附加到现有 CSV 时,进程永远不会结束或无限循环开始。
下面是合并数据的函数。 "FilesToWorkWith" 是一个字典,文件名作为键,文件对象作为值。我希望我已经解释了问题。
Set FilesDict = CreateObject("Scripting.Dictionary")
For each iFile in objFiles
If(CheckExtension(iFile) = True) Then
FilesDict.Add iFile.Name, iFile
End if
Next
Function MergeCSV (UIDReportsFolderLocation,strCombinedUIDFileName)
FilesToWorkWith = FilesDict.Keys
Set outFile = objFSO.OpenTextFile(UIDReportsFolderLocation & "\" & strCombinedUIDFileName & ".csv", ForAppending, CreateIfNotExist, OpenAsASCII)
Dim firstFile
firstFile = True
For Each Key in FilesToWorkWith
Set objFile = objFSO.OpenTextFile(FilesDict(Key), ForReading)
If Not firstFile = True Then
objFile.Skipline
End if
Do
strTemp = objFile.ReadLine
If Not strTemp = "" Then
outFile.WriteLine strTemp
End if
Loop Until objFile.AtEndOfStream = True
objFile.Close
firstFile = False
Next
outFile.close
Set iFile = Nothing
set objFile = Nothing
Set FilesDict = Nothing
Set objFSO = Nothing
End Function
请帮忙...
最明显的原因是您的输出文件正在作为输入文件处理,并且只是循环永远将自身附加到自身。您没有显示 FilesToWorkWith 是如何初始化的,因此无法确定,但这是我首先要查看的地方。