gpt4 book ai didi

Python 和 SQLite : Not all arguments converted during string formatting error

转载 作者:太空宇宙 更新时间:2023-11-03 18:39:22 26 4
gpt4 key购买 nike

我在 Stackoverflow 上看到了一些错误,但当我实现它们时,似乎没有一个答案起作用。

import csv, sqlite, sys

conn = sqlite.connect('Database_Practice.db')
mouse = conn.cursor()

input = open('DATA.csv','rb')
my_reader = csv.reader(input, delimiter = ',',quotechar='|')

mouse.execute("DROP TABLE IF EXISTS Example_Input;")
mouse.execute("CREATE TABLE Example_Input (ID INTEGER, Name VARCHAR, Job VARCHAR, Salary INTEGER);")

try:
to_database = [entry for entry in my_reader]
for block in to_database:
mouse.execute("INSERT INTO Example_Input (ID,Name,Job,Salary) VALUES (?,?,?,?)", block)
finally:
conn.commit()
input.close()

我知道变量正在获取变量,就像我注释掉 INSERT 行一样,我得到了输出:

['1', 'Billy', 'Tech', '888']
['2', 'Jane', 'Sales', '777']
['3', 'Scott', 'Tech', '667']
['4', 'Harris', 'Tech', '444']
['5', 'Gray Skull', 'Sales', '333']
['6', 'Barbarosa', 'Assistant', '200']
['7', 'Nick', 'Janitor', '100']

但是经过很长时间的尝试调整它,我似乎无法让它停止给我错误:

 File "Another_Try.py", line 18, in ?
mouse.execute("INSERT INTO Example_Input (ID,Name,Job,Salary) VALUES (?,?,?,?)", block[0:4])
File "/usr/lib64/python2.4/site-packages/sqlite/main.py", line 255, in execute
self.rs = self.con.db.execute(SQL % parms)
TypeError: not all arguments converted during string formatting

有什么建议吗?

编辑:

try:
to_database = [entry for entry in my_reader]
for block in to_database:
# mouse.execute("INSERT INTO Example_Input (ID,Name,Job,Salary) VALUES (?,?,?,?)", block)
print block

最佳答案

我运行了你的代码,用 sqlite3 替换了 sqlite,并附加了以下内容:

print mouse.execute("select * from Example_Input").fetchall()

它似乎适用于合理的 CSV。也许您应该检查 CSV 是否确实是您所期望的。如果引号不正确,您最终可能会得到超过四列,这可以解释错误。

顺便说一下,用这个替换循环会更方便:

try:
mouse.executemany("INSERT INTO Example_Input (ID,Name,Job,Salary) VALUES (?,?,?,?)", my_reader)
finally:
conn.commit()
i.close()

关于Python 和 SQLite : Not all arguments converted during string formatting error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20888436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com