Есть .csv файл (разделители - запятые) с такими данными (к примеру):
Таблица в БД:
Нужно все возможные данные в .csv файле заменить на соответствующие им id из базы данных, как это сделать?
conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute("select * from test")
res = cur.fetchall()
with open("2.csv", 'r') as source, open("res.csv", 'w') as dest:
reader = csv.reader(source, delimiter=',', quotechar='"')
writer = csv.writer(dest, delimiter=',', quotechar='"')
for i, j in zip(res, reader):
l0 = j[0]
if l0 in i[1]:
l0 = i[0]
l1 = j[1]
if l1 in i[1]:
l1 = i[0]
l2 = j[2]
l3 = j[3]
line = l0, l1, l2, l3
writer.writerow(line)
source.close()
dest.close()
Чтобы получилось:
1,3,gh,hi
2,4,pq,rs
for i, j in itertools.zip_longest(res, reader, fillvalue=list(reader)) ?