Запретить Excel добавлять символы запятых в файл CSV - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь написать скрипт в VBS, который открывает файл CSV, вносит некоторые изменения в данные и сохраняет их. Проблема в том, что у меня есть данные в следующем формате:

data1,data2,
data3,data4,data5,data6,

После операции сохранения (даже если я не изменяю содержимое файла) VBS добавляет дополнительные запятые в конец строки и файл выглядит следующим образом:

data1,data2,,,
data3,data4,data5,data6,

Завершает пропущенную (для него) запятую. К сожалению, у меня есть программа, которая не правильно читает такие CSV.

Можно ли как-то запретить VBS добавлять эти дополнительные запятые? Если нет, знаете ли вы, как убрать дополнительные запятые в конце строки?

1 Ответ

0 голосов
/ 25 июня 2018

Формат ваших выходных данных в точности соответствует CSV (это то, что экспортирует Excel). Если ваша целевая программа не способна обработать то, что вам, вероятно, нужно постобработать экспортированные данные перед их передачей в вашу программу, например, с заменой регулярного выражения:

filename = "C:\path\to\your.csv"

Set fso = CreateObject("Scripting.FileSystemObject")

Set re = New RegExp
re.Pattern   = ",+$"
re.Global    = True
re.Multiline = True

txt = fso.OpenTextFile(filename).ReadAll
fso.OpenTextFile(filename, 2).Write re.Replace(txt, ",")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...