Вопрос : Пытался использовать Differ (), ... из того, что я могу сказать, это наиболее близко к тому, что мне, возможно, придется использовать.
Примечание : только первая строка ..._data
равна равна !
import difflib
_old_data = "refno,title,author,year,price\n\
1001,CPP,MILTON,2008,456\n\
1002,JAVA,Gilson,2002,456\n\
1003,Adobe Flex,,2010,566\n\
1004,General Knowledge,Sinson,2007,465\n\
1005,Actionscript,Gilto,2008,480\n".splitlines(keepends=False)
_new_data = "refno,title,author,year,price\n\
1001,CPP,MILTON,2010,456,2008\n\
1002,JAVA,Gilson,2002\n\
1003,Adobe Flexi,Johnson,2010,566\n\
1004,General Knowledge,Simpson,2007,465\n\
105,Action script,Gilto,2008,480\n\
2000,Drama,DayoNe,,2020,560\n".splitlines(keepends=False)
diff = difflib.Differ()
for line in diff.compare(_old_data, _new_data):
if line.startswith(('?',' ')):
# Skip diff control lines ?
# Skip equal lines ' '
pass
else:
#print(line[2:])
print(line)
Qutput
- 1001, CPP, MILTON, 2008,456
+ 1001, CPP, MILTON, 2010 456 2008
- 1002, JAVA, Gilson, 2002, 456
.
+ 1002, JAVA, Gilson, 2002
- 1003, Adobe Flex ,, 2010,566
+ 1003, Adobe Flexi, Johnson, 2010, 566
- 1004, Общие знания, Синсон, 2007, 465
+ 1004, Общие знания, Симпсон, 2007, 465
- 1005, Actionscript, Gilto, 2008,480
+ 105, боевик, Gilto, 2008,480
+ 2000, Драма, DayoNe ,, 2020,560
Протестировано на Python: 3.4.2