сравните два текстовых файла и выведите разницу + имя файла, в котором была найдена запись - PullRequest
0 голосов
/ 29 августа 2018

Здравствуйте. Я написал скрипт, который сравнивает два текстовых файла и выводит разницу в отдельный текстовый файл (diff.txt). Моя цель - получить имя файла, из которого были взяты записи, либо в начале каждой строки, либо в конце каждой строки, прежде чем перейти к следующей строке в моей разнице.txt.

Мой сценарий довольно прост:

Jan = "JanFile.txt"
Feb = "FebFile.txt"
rootFolder = os.path.dirname(os.path.abspath(__file__))

with open (Jan, "rt") as doc1, open(Feb, "rt") as doc2:
    prevMonth = set(doc1.readlines())
    currentMonth = set(doc2.readlines())

with open ('TxtDiff.txt', 'wt') as unmatchedFile:
    line = (currentMonth - prevMonth)
    unmatchedFile.writelines(line)

Просто повторюсь: я хотел бы знать, из какого файла поступили записи в файле diff.txt. Можно ли добавить эту информацию, чтобы она отображалась до или после строки

Ex:

JanFile будет выглядеть так:

Column1 | Column2
Data1   | Data2

FebFile будет выглядеть так:

Column1 | Column2
Data1   | Data2

Difference.txt будет выглядеть так:

Column1 | Column2 | Column3
JanFile | Data1   | Data2
FebFile | Data1   | Data2
FebFile | Data1   | Data2
JanFile | Data1   | Data2

Я довольно непреклонен в использовании line = (currentMonth - prevMonth), поскольку использование diff, pandas, xlrd и т. д. создало много других проблем.

Любая помощь по этому вопросу будет принята с благодарностью. Спасибо

...