如何将一个文本文件中满足指定条件的内容筛选到另一个文本文件中?
时间:2023-07-27 20:21:41
Q:如下图1所示,一个名为“InputFile.csv”文件,每行有6个数字,每个数字使用空格分隔开。
图1
现在,我要将以60至69开头的行放置到另一个名为“OutputFile.csv”的文件中。图1中只是给出了少量的示例数据,我的数据有几千行,如何快速对这些数据进行查找并将满足条件的行复制到新文件中?
A:VBA代码如下:
Sub FilterTextFile()
Dim ReadLine As String
Dim buf
‘使用Open语句打开或创建文件
OpenThisWorkbook.Path & “\InputFile.csv” For Input As #1
OpenThisWorkbook.Path & “\OutputFile.csv” For Output As #2
‘循环直至到达指定文件末尾
Do Until EOF(1)
‘读取文件中的一行并将其赋值给ReadLine变量
Line Input #1, ReadLine
‘将ReadLine中的字符串拆分成数组
buf =Split(ReadLine, ” “)
‘判断数组的第1个值是否处于60至69之间
‘如果是则将其写入文件号指定的文件
If buf(0) >= 60 And buf(0) < 70 Then
Print #2, ReadLine
End If
Loop
‘关闭文件
Close #2
Close #1
End Sub
代码假设“InputFile.csv”和“OutputFile.csv”文件都放置在与代码工作簿相同的文件夹中。
代码中:
1.第1个Open语句用来打开“InputFile.csv”文件,指定文件号#1。
2.第2个Open语句用来创建“OutputFile.csv”文件,指定文件号#2。由于文件夹中事先没有这个文件,因此Excel会在文件夹中创建这个文件。
3.EOF(1)用来检测是否到达了文件号#1的文件末尾。
4.Line Input语句从文件号#1的文件中逐行读取其内容并将其赋值给变量ReadLine。
5.Split函数将字符串使用指定的空格分隔符拆分成下标以0为起始值的一维数组。
6.Print语句将ReadLine变量中的字符串写入文件号#2的文件。
7.Close语句关闭指定的文件。
代码的图片版如下:
运行代码后,将在工作簿所在的文件夹中生成一个如下图2所示的名为“OutputFile.csv”的文件。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Excel表格太宽了打印不全怎么办
搜狗输入法怎么打日语
![](https://img.aspxhome.com/file/2023/5/a317873_0s.jpg)
4月Win10更新预告:Edge/IE11浏览器不再支持RC4
![](https://img.aspxhome.com/file/2023/4/a312480_0s.jpg)
Bongo cat Mver直播背景有黑色怎么办?Bongo cat Mver背景有黑色的解决方法
![](https://img.aspxhome.com/file/2023/7/a326998_0s.jpg)
搜狗输入法如何换字体?搜狗输入法换字体步骤
![](https://img.aspxhome.com/file/2023/8/a336776_0s.jpg)
只需一个设置命令隐藏 MacBook Pro 浏海
![](https://img.aspxhome.com/file/2023/5/a204205_0s.jpeg)
电脑d盘显示黄色感叹号是怎么回事 Win11 d盘有个黄色感叹号的解决方法
![](https://img.aspxhome.com/file/2023/27/a235749_0s.jpg)
Excel表格中实现绘制地图图标的操作方法
仿Win95风RPG游戏《王道》发售:在OS中拯救世界
![](https://img.aspxhome.com/file/2023/3/a302806_0s.jpg)
鲁大师高温自动报警怎么设置?鲁大师高温自动报警怎设置方法
![](https://img.aspxhome.com/file/2023/7/a330176_0s.jpg)
Apple ID 可以注销吗,如何修改与 Apple ID 相关的账户信息?
![](https://img.aspxhome.com/file/2023/9/a198339_0s.jpg)
Windows7如何使用cleartype让文字显示更清晰
![](https://img.aspxhome.com/file/2023/27/a233483_0s.jpg)
Sniffer怎么用?Sniffer初次使用教程
![](https://img.aspxhome.com/file/2023/9/a340501_0s.jpg)
宝川电子相册怎么控制相片时间?宝川电子相册控制相片时间的方法
![](https://img.aspxhome.com/file/2023/8/a333999_0s.jpg)
Win7系统如何安装补丁mMS17-010?
![](https://img.aspxhome.com/file/2023/2/a286658_0s.jpg)
WPS 未保存文档如何恢复
WPS文档如何增加页
scanregistry.exe - scanregistry是什么进程 有什么用
在wps演示中如何将幻灯片保存为图片格式
WPS Excel 中如何实现行列互换
![](https://img.aspxhome.com/file/2023/1/a184741_0s.png)