fix: quote table names too, so any undesired characters should get accommodated
This commit is contained in:
10
main.py
10
main.py
@@ -35,7 +35,8 @@ class DBConn:
|
|||||||
def make_table(self, tbl_name, cols):
|
def make_table(self, tbl_name, cols):
|
||||||
syspk = "syspk integer primary key autoincrement"
|
syspk = "syspk integer primary key autoincrement"
|
||||||
other_cols = ', '.join([f"\"{f}\" TEXT" for f in cols])
|
other_cols = ', '.join([f"\"{f}\" TEXT" for f in cols])
|
||||||
create_tbl_sql = f"create table if not exists {tbl_name} ({syspk}, {other_cols})"
|
create_tbl_sql = f"create table if not exists \"{tbl_name}\" ({syspk}, {other_cols})"
|
||||||
|
print(f"create sql = {create_tbl_sql}")
|
||||||
self.cur.execute(create_tbl_sql)
|
self.cur.execute(create_tbl_sql)
|
||||||
|
|
||||||
def write_to_database(self, tbl, cols):
|
def write_to_database(self, tbl, cols):
|
||||||
@@ -50,7 +51,8 @@ class DBConn:
|
|||||||
# trim values of spaces
|
# trim values of spaces
|
||||||
values = tuple([str(cols[k]).strip() for k in keys])
|
values = tuple([str(cols[k]).strip() for k in keys])
|
||||||
|
|
||||||
sql = f"insert into {tbl} ({col_names}) values({value_placeholders})"
|
sql = f"insert into \"{tbl}\" ({col_names}) values({value_placeholders})"
|
||||||
|
print(f"sql = {sql}")
|
||||||
self.cur.execute(sql, values)
|
self.cur.execute(sql, values)
|
||||||
|
|
||||||
def make_csv_from_tables(self, prefix=''):
|
def make_csv_from_tables(self, prefix=''):
|
||||||
@@ -58,11 +60,11 @@ class DBConn:
|
|||||||
tbls = []
|
tbls = []
|
||||||
|
|
||||||
for (tbl,) in dbConn.cur.fetchall():
|
for (tbl,) in dbConn.cur.fetchall():
|
||||||
if tbl.find("transactions") == 0:
|
if tbl.find(args.name) == 0:
|
||||||
tbls.append(tbl)
|
tbls.append(tbl)
|
||||||
|
|
||||||
for tbl in tbls:
|
for tbl in tbls:
|
||||||
clients = pd.read_sql(f"SELECT * FROM {tbl}", self.con)
|
clients = pd.read_sql(f"SELECT * FROM \"{tbl}\"", self.con)
|
||||||
clients.to_csv(args.output / f"{prefix}{tbl}.csv", index=False)
|
clients.to_csv(args.output / f"{prefix}{tbl}.csv", index=False)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user