转换;分隔的CSV到制表符分隔的CSV



我想将;分隔的CSV转换为制表符分隔的CSV。我尝试了一些选择。我可以将其转换为制表符分隔的文本文件,但我需要制表符分隔CSV文件作为输出。我需要一个VBScript代码。

我已经尝试了以下代码,它可以工作,但转换为制表符分隔的文本文件,但我想要制表符分隔CSV文件

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objFile : Set objFile = objFSO.OpenTextFile("\vss22ExportListExport_File.csv")
Dim objOut : Set objOut = objFSO.CreateTextFile("\vss22ExportListExport_File.txt")
arrData = objFile.ReadAll
objOut.Write Replace(Replace(arrData, ";",vbTab), chr(34), "")
objFile.Close
objOut.Close

编辑:这是我的输入文件示例。我使用了@ansgar提供的代码,但分号(;)没有被tab替换。

PIM ID;母产品;维修MCH1.10001;10001;ABC2.20001;20001;ABC3.30001;30001;ABC

输出文件为

PIM ID;母产品;维修MCH公元前110001100122000120001ABC33000130001ABC

这是我正在使用的代码:

file = "\vwq2702HeilerExportTaskListArchiveList Values.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
txt = fso.OpenTextFile(file).ReadAll
fso.OpenTextFile(file, 2).Write Replace(Replace(txt, ";", vbTab), Chr(34), "")

只需将修改后的文本写回原始文件(读取文件后必须关闭文件才能打开进行写入):

file = "\vss22ExportListExport_File.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
txt = fso.OpenTextFile(file).ReadAll
fso.OpenTextFile(file, 2).Write Replace(Replace(txt, ";", vbTab), Chr(34), "")

最新更新