Чтение файла CSV с использованием VBScript - PullRequest
2 голосов
/ 17 августа 2011

У меня есть файл с 4 полями.

A,B,C,D

Я хочу извлечь только 4-е поле и изменить его на "E"

Есть ли способ сделать это?

Ответы [ 2 ]

4 голосов
/ 17 августа 2011

Предполагая, что значения не содержат запятых, прочитайте файл, используя FileSystemObject (FSO), затем Разделите каждую строку на запятые.При необходимости измените полученный массив из 4 значений, затем объедините вместе в виде строки, разделенной запятыми.После внесения всех изменений запишите данные обратно в файл с помощью 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

Обратите внимание, что код полностью не проверен и записывается в основномПо памяти это почти наверняка не правильно, но просто чтобы дать вам представление.

0 голосов
/ 17 августа 2017

Может быть, простая замена будет работать.

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
...