|
import csv |
|
import sys, os, difflib, argparse |
|
from datetime import datetime, timezone |
|
|
|
def get_duplicates(list_a, list_b): |
|
dups = [item for item in list_a if item in list_b] |
|
return dups |
|
|
|
def generate_duplicates_report(first_file, second_file): |
|
data1= [] |
|
data2 = [] |
|
with open(first_file, newline='') as csvfile: |
|
csv_reader1 = csv.reader(csvfile, delimiter=',') |
|
for row in csv_reader1: |
|
data1.append(tuple(row)) |
|
|
|
with open(second_file, newline='') as csvfile: |
|
csv_reader2 = csv.reader(csvfile, delimiter=',') |
|
for row in csv_reader2: |
|
data2.append(tuple(row)) |
|
shared = get_duplicates(data1, data2) |
|
print("Found in both files: ", shared) |
|
|
|
def generate_diff_report(first_file, second_file): |
|
with open(first_file, newline='') as csvfile: |
|
rubric = csvfile.readlines() |
|
|
|
with open(second_file, newline='') as csvfile: |
|
comparison = csvfile.readlines() |
|
|
|
reportname = f"DIFF-{first_file}_{second_file}.html" |
|
diff = difflib.HtmlDiff().make_file(rubric,comparison,first_file,second_file) |
|
Html_file = open(reportname, "w") |
|
Html_file.writelines(diff) |
|
Html_file.close() |
|
|
|
first_file = input("Enter first file name: ") |
|
second_file = input("Enter first file name: ") |
|
generate_duplicates_report(first_file,second_file ) |
|
generate_diff_report(first_file,second_file ) |