所以我有两个文件。一个包含Old Stuff,另一个包含不同的New Stuff。
每个文本文件都具有相同的格式:
Example_Students_Year_School_Date
我希望能够比较这些文件,并了解它是日期还是增加的学生。然后我将Date写入自己的文本文件,将Students写入自己的文本文件。
所以,让我们说吧
OldText有:
Example_54_1994_WoodCreek_201309
Example_56_2009_Marshall_201408
Example_20_2008_DennnMan_201309
NewText有:
Example_54_1994_WoodCreek_201402
Example_59_2009_Marshall_201408
NewText中的第一个条目将被发送到DateText,因为DATE更新,而NewText中的第二个条目将被发送到StudentText,因为STUDENTS增加了。 OldText中的第三个条目不会做任何事情,因为它不在NewText中。
我目前有:
for OldRecord in StripOldList:
OldSplitRec = OldRecord.split('_')
value1 = OldSplitRec[1]
value2 = OldSplitRec[2]
value3 = OldSplitRec[3]
value3 = OldSplitRec[4]
value3 = OldSplitRec[5]
diffdict = {}
for SomeRec in DiffSplitText:
key1, key2, key3, key4, key5= SomeRec.strip().split('_')
FinalLabel = key1+"_"+key2+"_"+key3+"_"+key4+"_"key5+"_"+key6
diffdict[key1,key2,key3,key4,key5.strip()] = FinalLabel
IsNewEdition = True
IsNewVersion = True
IsNewFileType = True
if (value1 == key1 and value2 == key2):
IsNewFileType = False
if (value3 >= key3):
IsNewEdition = False
if (value5 >= key5):
IsNewVersion = False
if (IsNewFileType == True):
print "No Match"
elif (IsNewEdiion == True):
print "Found new edition"
link1.write(SomeRec)
elif (IsNewVersion == True):
print "Found new version"
link2.write(SomeRec)
.close() #closed all files
它只迭代第一个条目并停止,但不仅仅有一个不同的文件。任何帮助,将不胜感激。感谢。
答案 0 :(得分:0)
这是我提出的代码:
value1 = [];
value2 = [];
value3 = [];
value4 = [];
value5 = [];
for OldRecord in StripOldList:
OldSplitRec = OldRecord.split('_')
value1 += [OldSplitRec[0]]
value2 += [OldSplitRec[1]]
value3 += [OldSplitRec[2]]
value4 += [OldSplitRec[3]]
value5 += [OldSplitRec[4]]
for SomeRec in DiffSplitText:
key1, key2, key3, key4, key5= SomeRec.split('_')
for k in range(0,len(value1) ):
if (value1[k] != key1 and value2[k] != key2):
print "No Match"
if (value3[k] < key3):
print "Found new edition"
link1.write(SomeRec)
if (value5[k] < key5):
print "Found new version"
link2.write(SomeRec)
.close() #close all files