我是sqlite3(python用户)的新手
已根据以下方法将数据存储在数据库中,但这次不起作用。插入已执行,没有错误报告,但数据库中没有存储任何内容。你知道吗
我在这个网站上搜索了很多这个话题,重点是“不承诺”。但我很确定我完成了“提交”并正确地关闭了文件。在插入操作之后,我可以在我的数据库中找到带有标题(列名)的表f65,但没有更多的数据。(10列x 4k行)。你知道吗
关键代码片段如下。你知道吗
df = pd.DataFrame(pd.read_excel(r'/Users/' + username + r'/Documents/working/addf6-5.xlsx', header=0))
df = df.replace('#NUM!', '')
value = chain(reversed(grouplist2), df.values.tolist())
for x in value:
x[4] = str(x[4])
x[7] = str(x[7])
conn = sqlite3.connect('veradb.db')
c = conn.cursor()
c.execute("DROP TABLE IF EXISTS f65")
conn.commit()
c.close()
conn.close()
conn = sqlite3.connect('veradb.db')
c = conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS f65 ('offer', 'code', 'desc', 'engine', 'cost', 'supplier', 'remark', 'podate', 'empty', 'border')")
c.executemany("INSERT INTO f65 VALUES (?,?,?,?,?,?,?,?,?,?)", value)
conn.commit()
c.close()
conn.close()
更多详细说明:
缓存数据在addf6-5中,我在grouplist2(它是一个列表)中获取了新数据,并使用chain(reversed(grouplist2), df.values.tolist())
组合数据。你知道吗
为什么使用
for x in value:
x[4] = str(x[4])
x[7] = str(x[7])
因为我的pycharm报告“Error binding parameter 4-probably unsupported type.”&;“Error binding parameter 7-probably unsupported type.”所以我再次执行STR,尽管默认情况下它们应该是SQLite的文本。你知道吗
我试着通过
for x in value:
x[4] = str(x[4])
x[7] = str(x[7])
print(x)
发现可以打印出来没错。也许吧这个证明值(列表)正确吗?你知道吗
有些人可能会怀疑“createtable”语句中是否遗漏了属性,我可以说Sqlite提供给他们的文本在默认情况下是不可键入的,我在其他文件上执行这些代码并进行了工作。你知道吗
期待您的帮助。先谢谢你。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐