0
我想从文件中读取数据,创建数组,然后在添加一些附加信息的同时逐行写入第二个文件(逐个元素)。下面的脚本将从文件中正确读取,但只会写入最初的文件中的最后一行。我怎样才能从数组中写一个? (我可以用不同的方式将内容写入第二个文件,但我想直接从数组中完成)。从数组中逐一读取 - VBScript
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(input,
ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
arrFields = Split(strLine, ",")
If InStr(arrFields(1), "False") Then
strContents = strContents & arrFields(0) & vbCrlf
End If
Loop
objFile.Close
Set objFile = objFSO.CreateTextFile(output)
' below correctly outputs contents
' objFile.Write strContents
For each i in arrFields
objFile.Write arrFields(0)
objFile.Write "Number" & vbCrlf
Next
objFile.Close
我测试的CSV文件读取,如下保存为记事本“test.csv”。
1,FALSE
2,FALSE
3,FALSE
4,FALSE
5,FALSE
6,FALSE
7,FALSE
8,FALSE
9,FALSE
10,FALSE
11,FALSE
12,FALSE
13,TRUE
你不应该写'i',而不是'arrFields(0)''中对于Each'循环? –
我认为是这样,但我得到一个错误,说下标我超出范围。我真的不知道这意味着什么。 – ARS
我不确定你要从文件1添加到文件2的额外信息。它看起来像你只是读取一个文件并试图在文件2中写入相同的文件。你能更具体地说明你想要做什么处理在文件2中写入东西之前? –