如何在文件中查找(C S V)
我有一个大矩形和许多小矩形。我想找到合适的人选。csv文件,这一个小矩形的文件名,这是在大矩形(左下角点->右上角点坐标范围)。
示例:
大矩形:
左下点:848235.6561446578.4652
右上点:849267.9715447056.4045
CSV文件:
柱:
1、小矩形文件名
2、小矩形左下点X坐标
3、小矩形左下点Y坐标
4、小矩形右下角点X坐标
5、小矩形右下角点Y坐标
6、小矩形右上角点X坐标
7、小矩形右上角点Y坐标
8、小矩形左上角点X坐标
9、小矩形左上点Y坐标
文件1;848375.0000;446750.0000;848750.0000;446750.0000;848750.0000;447000.0000;848375.0000;447000.0000;
文件2;848375.0000;446500.0000;848750.0000;446500.0000;848750.0000;446750.0000;848375.0000;446750.0000;
文件3;848750.0000;447000.0000;849125.0000;447000.0000;849125.0000;447250.0000;848750.0000;447250.0000;
文件4;848375.0000;446250.0000;848750.0000;446250.0000;848750.0000;446500.0000;848375.0000;446500.0000;
文件5;848750.0000;446500.0000;849125.0000;446500.0000;849125.0000;446750.0000;848750.0000;446750.0000;
文件6;848750.0000;446250.0000;849125.0000;446250.0000;849125.0000;446500.0000;848750.0000;446500.0000;
等
有人能帮我吗? 这项任务似乎有几个方面:你在调查哪一个?
如果问题是关于检索CVS中包含的信息,那么请查看“FileSystemObject”。它可以用来打开文件并逐行读取。
该任务的另一个方面是分析每行文本以对单个元素进行排序。VBA函数InStr、Split、Trim等应该会有所帮助。
剩下的任务是确定较小的是否包含在较大的中。与大矩形一样,这里的重要信息是左下角和右上角。因此,如果:
如果smallLL(0)>largeLL(0)和
smallLL(1)>largeLL(1)和
smallUR(0)
smallUR(1)
小包含在大中。
Thx,如果条件良好。
你能告诉我一些关于CSV问题的例子吗? 这到底是什么问题?
这是CSV文件:
文件名;smallLL(0);Smalll(1);smallUR(0);smallUR(1);
文件1;848375.0000;446750.0000;848750.0000;447000.0000;
文件2;848375.0000;446500.0000;848750.0000;446750.0000;
文件3;848750.0000;447000.0000;849125.0000;447250.0000;
文件4;848375.0000;446250.0000;848750.0000;446500.0000;
文件5;848750.0000;446500.0000;849125.0000;446750.0000;
文件6;848750.0000;446250.0000;849125.0000;446500.0000;
...
...
我想读smallLL(0);Smalll(1);smallUR(0);和CSV文件中的smallUR(1)。
以及:
如果smallLL(0)>largeLL(0)和
smallLL(1)>largeLL(1)和
smallUR(0)
smallUR(1)
然后:
我想从csv中获取这些文件名(第1列),其中IF条件为true。
这就是问题所在。 问题解决了'
file_name = "D:\items.csv"
fnum = FreeFile
Open file_name For Input As fnum
whole_file = Input$(LOF(fnum), #fnum)
Close fnum
lines = Split(whole_file, vbCrLf)
num_rows = UBound(lines) - 1
For R = 0 To num_rows
one_line = Split(lines(R), ";")
If one_line(1) > largeLL(0) And one_line(2) > largeLL(1) And one_line(3) < largeUR(0) And one_line(4) < largeUR(1) Then
Msgbox one_line(0)
Else
End If
Next R
页:
[1]