阻止Excel将逗号添加到CSV文件

时间:2018-06-25 06:23:51

标签: excel csv vbscript

我尝试在VBS中编写一个脚本,该脚本会打开CSV文件,对数据进行一些更改并将其保存。我的问题是我的数据格式如下:

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

保存操作后(即使我没有更改文件内容),VBS也会在行尾添加额外的逗号字符,文件外观如下:

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

这完成了丢失的(对他来说)逗号。不幸的是,我有一个程序无法正确读取此类CSV。

有什么办法可以防止VBS添加这些额外的逗号? 如果不知道,您是否知道如何从行尾删除其他逗号?

1 个答案:

答案 0 :(得分:1)

输出数据的格式是完全有效的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, ",")