使用VBScript读取CSV文件

时间:2011-08-17 13:20:37

标签: scripting vbscript

我有一个包含4个字段的文件。

A,B,C,D

我想只提取第4个字段并将其更改为“E”

无论如何要做到这一点?

2 个答案:

答案 0 :(得分:4)

假设值不包含逗号,请使用FileSystemObject(FSO)读取文件,然后用逗号分隔Split每行。根据需要更改4个值的结果数组,然后将join再次作为逗号分隔的字符串组合在一起。完成所有更改后,使用FSO将数据写回文件。

类似于:

Set outputFile = fso.OpenTextFile(FileName1, ForWriting, True)
Set inputFile = fso.OpenTextFile(FileName2, ForReading)
Do While inputFile.AtEndOfStream <> True
    arr = Split(inputFile.ReadLine, ",")
    arr(3) = "E"
    outputString = Join(arr, ",")
    outputFile.WriteLine outputString
Loop

请注意,代码完全未经测试,主要是从内存中编写的,因此几乎肯定不正确,只是为了给你一个想法。

答案 1 :(得分:-1)

也许一个简单的替换会起作用。

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\data.txt")
strSearchString = objFile.ReadAll
objFile.Close

strSearchString = Replace(strSearchString,"A,B,C,D","A,B,C,E")

Set objFile = objFSO.OpenTextFile("c:\data.txt",2)
objFile.Write strSearchString
objFile.Close