您好,登录后才能下订单哦!
这篇文章主要介绍了如何使用vbs解决处理TXT文本数据相关问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
															有个小问题,如下: 
现有文本文件1.txt,内容如下: 
数值_1出现频度12647 
数值_2出现频度10000 
数值_3出现频度12608 
数值_4出现频度8712 
数值_5出现频度10658 
数值_6出现频度8472 
数值_7出现频度11232 
数值_8出现频度8648 
数值_9出现频度9264 
数值_10出现频度7192 
数值_11出现频度7192 
。。。。 
大概有100行 
要求把里面每行的数值放到变量中,然后输出成文本文件 2.txt 
举例: 把第一行的12674,放到变量a1中 
把第二行的10000,放到变量a2中 
把第三行的12608,放到变量a2中 
….直到最后一行 
最后输出成“2.txt” 文本文件的内容为: 
a1 = 12647 
a2 = 10000 
a3 = 12608 
a4 = 8712 
…. 
a11 = 7192 
希望能能够找到相关代码,并且是能在windows下运行的!!找呀找呀找呀。。 
实现代码如下: 
VB code: 
复制代码 代码如下:
set fso = createobject("scripting.filesystemobject") 
set file=fso.opentextfile("1.txt") 
ts = file.readall 
file.close 
set fil = fso.createtextfile("2.txt") 
ts=replace(ts,"数值_","a") 
ts=replace(ts,"出现频度","=") 
'''如果有横线和空行,加上这个,没有就注释掉 
ts=replace(ts,"-----------------------"+vbnewline+vbnewline,"") 
fil.write ts 
fil.close 
MsgBox "处理完成"上面的代码是把1.txt直接改成了2.txt,中间变量a1~a100省去了,如果还需要中间变量做其它用途的话,可以读取2.txt内容并赋值,代码如下: 
VBScript code: 
set fso = createobject("scripting.filesystemobject") 
set ts = fso.opentextfile("2.txt") 
i=0 
do while ts.AtEndOfStream=false 
str = ts.ReadLine 
execute str '执行赋值 
i=i+1 
execute("value=a" & i)'获取变量 a1…… 的值 
Response.Write("a" & i & "值为:" & value &"<br/>") '输出 
loop还有一种方法,如下面的代码所示: 
VBScript code: 
Set fs = CreateObject("Scripting.FileSystemObject") 
Set txt1 = fs.OpenTextFile("1.txt", 1) 
Set txt2 = fs.CreateTextFile("C:\FSO\ScriptLog.txt") 
Do Until txt1.AtEndOfStream 
str_a = txt1.ReadLine 
str_a = replace(str_a, "度","$") 
str_ar = split(str_a, "$") 
if isnumeric(str_ar(ubound(str_a))) then 
txt2.writeline str_ar(ubound(str_a)) 
end if 
Loop 
txt1.close 
txt2.close 
set txt1 = nothing 
set txt2 = nothing 
set fs = nothing 
感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用vbs解决处理TXT文本数据相关问题”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。