Skip to content

Commit e0a5a44

Browse files
authored
Merge pull request #18 from grinya007/dev
Fixes CSV => DB loading
2 parents 4c4ab9e + 864cb48 commit e0a5a44

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/load.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,15 @@ def create_table(conn: connection, fname: str, fields: Series) -> dict:
4646
'copy_expr': copy_expression(tname, fields),
4747
'tablename': tname,
4848
'filename': fname,
49-
'fields': []
49+
'fields': [],
50+
'tablefields': [],
5051
}
5152

5253
tfields = list()
5354
for field, ftype in fields.items():
5455
tfield = simplify_name(field)
5556
meta['fields'].append(field)
57+
meta['tablefields'].append(tfield)
5658

5759
if ftype.name not in DATA_TYPES:
5860
raise ValueError(f"{ftype.name} is not supported")
@@ -72,8 +74,9 @@ def load(conn: connection, csv_file: Path) -> dict:
7274

7375
meta = create_table(conn, csv_file.name, dtypes)
7476

77+
fields = ','.join([f'"{f}"' for f in meta['tablefields']])
7578
with csv_file.open('r') as f:
76-
conn.cursor().copy_expert(f"copy {meta['tablename']}({','.join(meta['fields'])}) from stdin with header csv", f)
79+
conn.cursor().copy_expert(f"copy {meta['tablename']}({fields}) from stdin with header csv", f)
7780

7881
return meta
7982

0 commit comments

Comments
 (0)