Мне нужно сравнить файл .accdb
с файлом .csv
.
Оба файла имеют одинаковый тип записей с несовпадением счетчиков.Поэтому я хочу отобразить те записи, которые встречаются редко, и сохранить их в новый текстовый файл, разделенный ;
с заголовком столбца.
.accdb :
ID Name
1 Mak
2 Smith
3 Jack
.csv File :
ID Name
1 Mak
2 Smith
3 Jack
4 Johnson
5 Mike
Ожидаемый .txt файл :
ID; Name
4; Johnson
5; Mike
Моя попытка :
import pyodbc
CSVfile = 'E:\Python\AccessCSVFiles\EMP.csv'
TEXTfile = 'E:\Python\AccessCSVFiles\EMP_UPDATES.txt'
conn_string = r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=E:\Python\AccessCSVFiles\EMP.accdb;'
con = pyodbc.connect(conn_string)
cur = con.cursor()
SQLQuery = 'SELECT * FROM EMP;'
rows = cur.execute(SQLQuery).fetchall()
records = [tuple(map(str,record)) for record in rows]
accessfile = set(records)
with open(CSVfile) as a:
first_line = a.readline()
with open(TEXTfile, 'w') as result:
result.write(first_line)
for line in a:
if line not in accessfile:
print line
Но все 5 записей разделяются с помощью ,
в текстовом файле EMP_UPDATES.txt
.