-1
我导入其中包含逗号作为双引号括起来,像下面一个字符串的一部分csv文件elcosed:替换逗号(,)在双引号括起来
a,b,c,d,e,f a,"b,c,d,e",f
为了得到正确的领域,我想先改变每一行,所以我得到这个期望输出:
a,b,c,d,e,f a,"b;c;d;e",f
我做了搜索第一,但我没有找到堆栈溢出别的,我很少在VBScript工作。任何帮助赞赏。
编辑:编辑补充我来完成这个任务
Sub csv2tab()
Const ForReading = 1
Const ForWriting = 2
Dim regex As Object
Set regex = CreateObject("VBScript.Regexp")
regex.IgnoreCase = True
regex.Global = True
regex.Pattern = """[^""]*""|[^,]*"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Users\venkat\Desktop\Freelancers\Upwork_tasks\Chris Hickey\Datafiles\smallerfile_11.csv", ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
strLine = Replace(strLine, regex.Replace(Line, ","), vbTab)
strNewText = strNewText & strLine & vbCrLf
Loop
objFile.Close
Set objFile = objFSO.OpenTextFile("C:\Users\venkat\Desktop\Freelancers\Upwork_tasks\Chris Hickey\Datafiles\test.txt", ForWriting)
objFile.WriteLine strNewText
objFile.Close
End Sub
在上面的代码的代码,我试图改变分隔符选项卡,很好,但不是强制性的我。我想我用正则表达式搞乱了某个地方。
堆栈溢出不是代码写入服务。努力自己解决这个问题。如果遇到困难,您可以解释遇到的问题,包括代码的相关部分,并询问关于该代码的具体问题,我们会尽力帮助。祝你好运。 –
使用'Split(input,“,”)'解析csv数据让我很难过。这只是一个很多的边缘案例。寻找一个专用的,专用的csv解析器而不是'Split()',突然之间这个问题就消失了。 –
@KenWhite,我用我试过的代码更新了主题。 – Venkat