使用VBScript将CSV列数据拆分为新的CSV文件

使用VBScript将CSV列数据拆分为新的CSV文件,csv,parsing,vbscript,Csv,Parsing,Vbscript,我有一个CSV文件,其中两列包含几个不同的文本值,例如 Column 1: Reptiles, Health, Hygiene Column 2: Purity 我需要使用VBscript将这些列拆分为新的CSV文件,而不更改当前文件,新CSV文件中的预期输出如下所示: Column 1 Column 2 Reptiles Reptiles Health Health Hygiene Hygiene Purity Pu

我有一个CSV文件,其中两列包含几个不同的文本值,例如

Column 1: Reptiles, Health, Hygiene  
Column 2: Purity
我需要使用VBscript将这些列拆分为新的CSV文件,而不更改当前文件,新CSV文件中的预期输出如下所示:

Column 1 Column 2 Reptiles Reptiles Health Health Hygiene Hygiene Purity Purity 新文件:

Column 1,Column 2
Reptiles,Reptiles
Health,Health
Hygiene,Hygiene
Purity,Purity

我认为这是一个使用
FileSystemObject
Split
函数的简单问题。 假设每个输入行只是一组数据,您可以删除双引号并从中进行处理

尝试此VB脚本(编辑以单独处理标题行):


“我需要使用VBscript”您确定吗?为什么?谁说的?Windows上有更好的选项。例如Powershell。我很难想象为什么2018年新程序必须是VBScript。另外,不要描述您的CSV文件。显示您的CSV文件,并精确显示输出应该是什么样子。我需要使用Vb脚本,因为这是所要求的。我知道可能还有其他选择,但由于VB脚本是这些选择之一,我希望坚持“计划”。基本上,我上面解释的是所需要的,有X列和Y列,其中包含如图所示的数据,X有一些逗号分隔的值,Y有单个文本值,需要拆分并输入到a列和B列的新CSV文件中,原始电子表格中X和Y的每个唯一值都是新电子表格中a列和B列的新行。我添加了上面的截图示例。不幸的是,这是一个特殊的要求,虽然我同意还有其他更新的更方便的选项,但我无法在本例中使用Vb脚本,而不是“我想要”。CSV是一种文本格式,因此请在文本编辑器中打开文件并复制/粘贴(示例)你需要我为我的例子添加更多的格式吗?我提供了两种不同格式的数据,并要求进行上述更改。这是否提供了所需内容的足够清晰的图片?
Column 1,Column 2
Reptiles,Reptiles
Health,Health
Hygiene,Hygiene
Purity,Purity
Const Overwrite = True
Set ObjFso = CreateObject("Scripting.FileSystemObject")

Set ObjOutFile = ObjFso.CreateTextFile("My New File Path", Overwrite)
Set ObjInFile = ObjFso.OpenTextFile("My Old File Path")

' Skip processing first header line and just write it out as is
strLine = ObjInFile.ReadLine
ObjOutFile.WriteLine strLine

Do Until ObjInFile.AtEndOfStream
    ' Remove all double quotes to treat this as one set of data
    strLine = Replace(ObjInFile.ReadLine, """","")
    varData = Split(strLine,",")
    ' Write out each element twice into its own line
    For i = 0 to uBound(varData)
        ObjOutFile.WriteLine varData(i) & "," & varData(i) 
    Next i
Loop

ObjInFile.Close
ObjOutFile.Close