我正在尝试在文本文件和 CSV 之间进行三向交叉匹配匹配 3 个元素,并且作为每次匹配的结果,我们将调用/获取要附加到字符串的某些元素......
文本文件项应该被两个新行分割/n/n
Textfile item line 1
应该匹配到一行 inCSV Element 2
Textfile item line 2
应该匹配到一行 inCSV Element 1
如果两个匹配都成功,则需要匹配学生姓名,在第一种情况下,“Tommy”与CSV Element 9
一旦所有三个变量都匹配,我们就知道我们匹配的是哪一行 CSV 行,现在我们需要记录CSV Element 10
,我们还需要从文本文件项中找到“数据 2”
对于接下来的几个名字,我们需要再次全部,在我们的第一个示例中,它是 Jim、Elz M 和 Ben
在运行脚本结束时,我应该能够执行以下操作:
print Match1[0], Match3[0], Match1[0], Data1[0], Data2[0]
print Match1[1], Match3[1], Match1[1], Data1[1]
print Match1[2], Match3[2], Match1[2], Data1[2]
这将输出:
DMATCH1 MData (N/A) Tommy 55 Data2 $10.40
DMATCH1 MData (N/A) Jim 52
DMATCH1 MData (N/A) Elz M 22
我的 CSV 看起来像:
MATCH1,MATCH2,TITLE,TITLE,TITLE,TITLE,TITLE,TITLE,MATCH3,DATA,TITLE,TITLE
DMATCH1,MData (N/A),data,data,data,data,data,data,Tommy,55,data,data
DMATCH1,MData (N/A),data,data,data,data,data,data,Ben,54,data,data
DMATCH1,MData (N/A),data,data,data,data,data,data,Jim,52,data,data
DMATCH1,MData (N/A),data,data,data,data,data,data,Elz M,22,data,data
DMATCH2,MData (B/B),data,data,data,data,data,data,James Smith,15,data,data
DMATCH2,MData (B/B),data,data,data,data,data,data,Jessica Long,224,data,data
DMATCH2,MData (B/B),data,data,data,data,data,data,Mike,62,data,data
DMATCH3,Mdata,data,data,data,data,data,data,Joe Reane,66,data,data
DMATCH3,Mdata,data,data,data,data,data,data,Peter Jones,256,data,data
DMATCH3,Mdata,data,data,data,data,data,data,Lesley Lope,5226,data,data
我的文本文件包括:
MData (N/A)
DMATCH1
3 Tommy 144512/23332
1 Jim 90000/222311
1 Elz M 90000/222311
1 Ben 90000/222311
Data $50.90
Data2 $10.40
Data3 $20.20
MData (B/B)
DMATCH2
4 James Smith 2333/114441
4 Mike 90000/222311
4 Jessica Long 2333/114441
Data $50.90
Data2 $5.44
Mdata
DMATCH3
5 Joe Reane 0/0
5 Peter Jones 90000/222311
Data $10.91
Data2 $420.00
Data3 $210.00
如果它更容易,我可以修改文本文件,使其也是 csv 格式
例子:
MData (N/A),DMATCH1,3 Tommy 144512/23332,1 Jim 90000/222311,1 Elz M 90000/222311, 1 Ben 90000/222311,Data $50.90,Data2 $10.40,Data3 $20.20