标题:比较两个文本文件中的数据
只看楼主
liu753159
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2022-11-5
结帖率:50%
已结贴  问题点数:5 回复次数:4 
比较两个文本文件中的数据
比如说两个TXT文件
a.txt和b.txt
a.txt数据为
1 2 4 8 9
3 5 7 8 9
2 4 5 7 10
。。。下面还有好多行

b.txt数据为
1 2 4 8 9
1 2 5 8 9
2 4 5 7 10
。。。下面还有好多行

两个文本中数据一样的行在另外一个文本中原样输出,不一样的不用管。
搜索更多相关主题的帖子: 文本文件 txt 文本 数据 比较 
2023-01-29 14:01
mrexcel
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:125
专家分:480
注 册:2022-11-3
得分:0 
将a.txt的行读出存到字典,将b.txt的行读出逐行判断是否在字典之中
2023-01-29 21:50
liu753159
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2022-11-5
得分:0 
没高手给指点下啊
2023-01-30 21:45
mrexcel
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:125
专家分:480
注 册:2022-11-3
得分:5 
程序代码:
Sub test()
Dim txt As String, s() As String
Open "a.txt" For Input As #1
txt = vbCrLf & StrConv(InputB(LOF(1), 1), vbUnicode) & vbCrLf
Close #1
Open "b.txt" For Input As #1
s = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
Close #1
For i = 0 To UBound(s)
If InStr(txt, vbCrLf & s(i) & vbCrLf) = 0 Then s(i) = "@"
Next
Open "c.txt" For Output As #1
Print #1, Join(Filter(s, "@", False), vbCrLf)
Close #1
End Sub
2023-01-31 14:18
liu753159
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2022-11-5
得分:0 
回复 4楼 mrexcel
非常感谢!!!!!!虽然没看太懂,但是可行。
2023-01-31 23:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511182-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.336167 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved