Python获取';sqlite3.OperationalError:表感知已存在';到目前为止我的代码
“不了解该表是如何存在的” “代码错误令人困惑” “当我运行代码时,它看起来像这样‘创建降水量(“weather.db”,open(“premission.txt”)”def创建降水量(db,data\u文件):Python获取';sqlite3.OperationalError:表感知已存在';到目前为止我的代码,python,sqlite,Python,Sqlite,“不了解该表是如何存在的” “代码错误令人困惑” “当我运行代码时,它看起来像这样‘创建降水量(“weather.db”,open(“premission.txt”)”def创建降水量(db,data\u文件): 到目前为止,我已经完成了这项工作,离工作越来越近了。我还没有完成,不知道下一步要做什么欢迎这样做!您可能首先要检查问题的格式并修复它,方法是点击问题文本下方的编辑按钮。在进行操作时,您可能需要添加一些解释您遇到的问题:)[以及您试图解决的问题]嗯,您不希望每次执行插入操作时都创建表。因
到目前为止,我已经完成了这项工作,离工作越来越近了。我还没有完成,不知道下一步要做什么欢迎这样做!您可能首先要检查问题的格式并修复它,方法是点击问题文本下方的
编辑
按钮。在进行操作时,您可能需要添加一些解释您遇到的问题:)[以及您试图解决的问题]嗯,您不希望每次执行插入操作时都创建表。因此,您可以使用以下命令指定仅在表不存在时创建表:如果表不存在,则创建表…
^我想这样行。我已经看过了,我会试一试的,谢谢
def create_precipitation(db, data_file):
"""(str, reader) -> NoneType
Populate the database db with the contents of data_file.
Create a table called Precipitation, with four columns: City
(text), Snow (real), Total (integer), Days (integer).
Parameters:
db: name/path to a database
data_file: contains one city, snowfall amount, total
precipitation amount, and number of days per line, separated by
comma.
"""
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute('create table precipitation' +
'(city text, snow real, ' +
'Total integer, Days integer)')
for line in data_file:
values = line.strip().split(',')
city = values[0]
snow = float(values [1])
total = int(values[2])
days = int(values[3])
cur.exectue("insert into percipitation values (?,?,?,?)",
(city, snow, total, days))
conn.commit()
cur.close
conn.close()
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute('drop table if exists precipitation')
cur.execute('create table precipitation' +
'(city text, snow real, ' +
'Total integer, Days integer)')
for line in data_file:
values = line.strip().split(',')
city = values[0]
snow = float(values[1])
total = int(values[2])
days = int(values[3])
cur.execute("insert into precipitation values (?,?,?,?)",
(city, snow, total, days))
conn.commit()
cur.close
conn.close()