我有一个纯文本文件,由~
20-07-31-03:00~[*IF *VALUE *EQ 'DB_CONTENT' *UNTIL]
下面的脚本接收损坏的数组如下
with open('''/etc/files/plaintext.txt''') as f:
resultCollect = f.read().splitlines()
resultSplit.append([line.split('~') for line in resultCollect])
insert(resultSplit[0], table)
# resultSplit[0] --> ['20-07-31-03:00','[*IF *VALUE *EQ 'DB_CONTENT' *UNTIL]']
def insert(data, table):
val = [tuple(line) for line in data]
for i in range(len(val)):
cur.execute("""INSERT INTO {0} VALUES {1}""".format(table, tuple(val[i])))
但是,由于 中的字符串内有单引号'DB_CONTENT',在尝试向数据库中插入时,会产生以下错误
column "[*IF *VALUE *EQ 'DB_CONTENT' *UNTIL]" does not exist
生成的插入示例
INSERT INTO tbl_details VALUES ('20-07-30-01:53', "[*IF *VALUE *EQ 'DB_CONTENT' *UNTIL]")
可重现的例子:
result = []
val = '''20-07-31-03:00~[*IF *VALUE *EQ 'DB_CONTENT' *UNTIL]'''
result.append([val.split('~')])
def insert(data, table):
val = [tuple(line) for line in data]
for i in range(len(val)):
print("""INSERT INTO {0} VALUES {1}""".format(table, tuple(val[i])))
insert(result[0], 'tbl_name')
任何解决方案的建议?
慕标5832272
相关分类