标题 | vbs解决处理TXT文本数据相关问题实现代码 |
内容 | 使用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 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。