我想将;
- 分隔的CSV转换为制表符分隔的CSV。我尝试过一些选择。我可以将它转换为制表符分隔的文本文件,但我需要制表符分隔的CSV文件作为输出。我需要一个VBScript代码。
我已经尝试了以下代码,但可以转换为制表符分隔的文本文件,但我想要制表符分隔的CSV文件
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objFile : Set objFile = objFSO.OpenTextFile("\\vss22\Export\List\Export_File.csv")
Dim objOut : Set objOut = objFSO.CreateTextFile("\\vss22\Export\List\Export_File.txt")
arrData = objFile.ReadAll
objOut.Write Replace(Replace(arrData, ";",vbTab), chr(34), "")
objFile.Close
objOut.Close
编辑:这是我的输入文件示例。我使用了@ansgar提供的代码,但是分号(;
)没有替换为tab。
PIM ID;Parent Product;Maintenance;MCH 1;10001;10001;ABC 2;20001;20001;ABC 3;30001;30001;ABC
输出文件是
PIM ID;Parent Product;Maintenance;MCH 11000110001ABC 22000120001ABC 33000130001ABC
以下是我正在使用的代码:
file = "\\vwq2702\HeilerExport\TaskList\Archive\List Values.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
txt = fso.OpenTextFile(file).ReadAll
fso.OpenTextFile(file, 2).Write Replace(Replace(txt, ";", vbTab), Chr(34), "")
答案 0 :(得分:2)
只需将修改后的文本写回原始文件(阅读文件后必须先关闭才能打开文字):
file = "\\vss22\Export\List\Export_File.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
txt = fso.OpenTextFile(file).ReadAll
fso.OpenTextFile(file, 2).Write Replace(Replace(txt, ";", vbTab), Chr(34), "")