首页 / PYTHON / 《python数据分析基础》4.1.1:报错——sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied
《python数据分析基础》4.1.1:报错——sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了《python数据分析基础》4.1.1:报错——sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1347字,纯文字阅读大概需要2分钟。
内容图文
![《python数据分析基础》4.1.1:报错——sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied](/upload/InfoBanner/zyjiaocheng/874/9e5290b5b4214939a3f8559f14cc7dd1.jpg)
第一个报错:sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied
原因:没有使用与作者一致的csv数据内容
我的csv文件内容为4.1中的数据内容,进行了重复而已
这个csv与作者的csv不同之处在于只有四列,作者有五列,但是在
table = """CREATE TABLE IF NOT EXISTS csv
(csv_name VARCHAR(20),
customer VARCHAR(20),
product VARCHAR(40),
amount FLOAT,
date DATE);
"""
一开始没有进行数据拉伸,所以刚好行也是五行,认为在表头添加了就可以的
但是(读取方式不是行而是列读取)
所以一共只有四列,此处csv_name VARCHAR(20),需要去掉即
table = """CREATE TABLE IF NOT EXISTS csv
(
customer VARCHAR(20),
product VARCHAR(40),
amount FLOAT,
date DATE);
"""
但是这里比较坑的地方在于,即使出错,生成的sqlite.db也会生成,于是再次运行时就会继续报错
需要删除进行在运行才可以,否则一直出现这个报错。
第二个报错
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 5, and there are 4 supplied.
原因:没有使用与作者一致的csv数据内容
我的csv文件内容为4.1中的数据内容,进行了重复而已
这个主要在于插入数据占位的“?”处多给了一个“?”
for row in file_reader:
data=[]
for column_index in range(len(header)):
data.append(row[column_index])
print(data)
statement = 'INSERT INTO csv VALUES(?,?,?,?,?);'
也是由于我的只有四列数据,但是占位5个位置导致的报错
修改之后成功
不按照书上的来有好处也有坏处,
好处就是需要自己解决问题、看报错内容
坏处就是学习进度慢
内容总结
以上是互联网集市为您收集整理的《python数据分析基础》4.1.1:报错——sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied全部内容,希望文章能够帮你解决《python数据分析基础》4.1.1:报错——sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。