【问题标题】:Reading a CSV file using VBScript使用 VBScript 读取 CSV 文件
【发布时间】:2011-10-28 22:38:33
【问题描述】:

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

A,B,C,D

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

有没有办法做到这一点?

【问题讨论】:

  • 字段是定长还是变长?

标签: scripting vbscript


【解决方案1】:

假设这些值不包含逗号,请使用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

请注意,代码完全未经测试,大部分是凭记忆编写的,因此几乎可以肯定是不正确的,只是为了给您一个想法。

【讨论】:

    【解决方案2】:

    也许一个简单的替换就可以了。

    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
    

    【讨论】:

    • ABC,...只是样本。此外,旧答案应该可以很好地完成工作。
    猜你喜欢
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 2010-11-11
    • 2010-10-25
    • 2021-10-02
    • 2018-05-24
    • 2015-06-12
    相关资源
    最近更新 更多