以空格为分隔符读取内容给两个变量_问与答61: 如何将一个文本文件中满足指定条件的内容筛选到另一个文本文件中?...
學(xué)習(xí)Excel技術(shù),關(guān)注微信公眾號:
excelperfect
Q:如下圖1所示,一個名為“InputFile.csv”文件,每行有6個數(shù)字,每個數(shù)字使用空格分隔開。
圖1
現(xiàn)在,我要將以60至69開頭的行放置到另一個名為“OutputFile.csv”的文件中。圖1中只是給出了少量的示例數(shù)據(jù),我的數(shù)據(jù)有幾千行,如何快速對這些數(shù)據(jù)進行查找并將滿足條件的行復(fù)制到新文件中?
A:VBA代碼如下:
Sub FilterTextFile()
??? Dim ReadLine As String
??? Dim buf
??? '使用Open語句打開或創(chuàng)建文件
??? OpenThisWorkbook.Path & "\InputFile.csv" For Input As #1
??? OpenThisWorkbook.Path & "\OutputFile.csv" For Output As #2
??? '循環(huán)直至到達指定文件末尾
??? Do Until EOF(1)
??????? '讀取文件中的一行并將其賦值給ReadLine變量
??????? Line Input #1, ReadLine
??????? '將ReadLine中的字符串拆分成數(shù)組
??????? buf =Split(ReadLine, " ")
??????? '判斷數(shù)組的第1個值是否處于60至69之間
??????? '如果是則將其寫入文件號指定的文件
??????? If buf(0) >= 60 And buf(0) < 70 Then
???????????Print #2, ReadLine
??????? End If
??? Loop
??? '關(guān)閉文件
??? Close #2
??? Close #1
End Sub
代碼假設(shè)“InputFile.csv”和“OutputFile.csv”文件都放置在與代碼工作簿相同的文件夾中。
代碼中:
1.第1個Open語句用來打開“InputFile.csv”文件,指定文件號#1。
2.第2個Open語句用來創(chuàng)建“OutputFile.csv”文件,指定文件號#2。由于文件夾中事先沒有這個文件,因此Excel會在文件夾中創(chuàng)建這個文件。
3.EOF(1)用來檢測是否到達了文件號#1的文件末尾。
4.Line Input語句從文件號#1的文件中逐行讀取其內(nèi)容并將其賦值給變量ReadLine。
5.Split函數(shù)將字符串使用指定的空格分隔符拆分成下標(biāo)以0為起始值的一維數(shù)組。
6.Print語句將ReadLine變量中的字符串寫入文件號#2的文件。
7.Close語句關(guān)閉指定的文件。
代碼的圖片版如下:
運行代碼后,將在工作簿所在的文件夾中生成一個如下圖2所示的名為“OutputFile.csv”的文件。
圖2
總結(jié)
以上是生活随笔為你收集整理的以空格为分隔符读取内容给两个变量_问与答61: 如何将一个文本文件中满足指定条件的内容筛选到另一个文本文件中?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京环球影城淡旺季区分
- 下一篇: “岩栖咀丹客”上一句是什么