vbs 逐行读取文本文件并用逗号分割
Posted
技术标签:
【中文标题】vbs 逐行读取文本文件并用逗号分割【英文标题】:vbs read text file line by line and split it with comma 【发布时间】:2019-03-26 00:55:31 【问题描述】:有一个包含此内容的文本文件
名称1,21 名称2,33 姓名4,22
例如,我如何读取并将其存储在其他变量中
name= name1
age= 21
打印出来并循环直到这个文件结束
打印出来会是
姓名:name1 21 岁
这是我尝试过的,但我得到的消息框是空白的
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("C:\my.txt", ForReading)
strOutput = ""
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
arrServiceList = Split(strNextLine , ";")
If (UBound(arrServiceList) >= 6) Then
strOutput = strOutput & "name: " & arrServiceList(0) & ", age: " & arrServiceList(6) & vbCrLf
End If
Loop
WScript.Echo strOutput
我得到的只是一个空白框
【问题讨论】:
您在;
上进行拆分,但您的文本中有,
。
一旦你解决了上面提到的split
问题,你的数组arrServiceList
将只包含2个元素(除非你提供了文件的缩减版本并且上面有更多数据元素每行),因此引用arrServiceList(6)
将导致数组失败。
【参考方案1】:
终于搞定了,分享一下,下面是我的代码:
Set fso=CreateObject("Scripting.FileSystemObject")
filename = "C:\my.txt"
listFile = fso.OpenTextFile(filename).ReadAll
listLines = Split(listFile, vbCrLf)
i = 0
For Each line In listLines
Dim arr
arr = Split(line,",")
WScript.Echo CStr(i) + " Name: " + arr(1)+ " age: "+arr(0)
Next
不确定这是否是最好的解决方案,有人变得更好了吗? 首先我将它逐行拆分,然后从那一行我用逗号拆分它
【讨论】:
以上是关于vbs 逐行读取文本文件并用逗号分割的主要内容,如果未能解决你的问题,请参考以下文章
Python逐行读取txt文本,按符合分割词并逐行写入txt