Refactor csv.py

This commit is contained in:
2023-04-09 13:28:22 +02:00
parent 6311b19177
commit ae4b9d3fe3
3 changed files with 73 additions and 69 deletions

View File

@ -44,17 +44,13 @@ def sqlite_regexp(pattern: str, value: Optional[str]) -> Optional[bool]:
def import_csv(cur: sqlite3.Cursor, table_name: str) -> None:
rows = list(csv.parse(f'{args.dir}/{table_name}.csv'))
if len(rows) == 0:
return
names = tuple(rows[0].keys())
values = [tuple(row.values()) for row in rows]
rows = csv.parse(f'{args.dir}/{table_name}.csv')
names = next(rows)
sql = f'INSERT INTO {table_name} ({", ".join(names)}) VALUES ({", ".join(["?"] * len(names))})'
print(sql)
cur.executemany(sql, values)
print(f'{len(values)} inserts')
cur.executemany(sql, rows)
print(f'{cur.rowcount} inserts')
cur.close()