python将数据写入csv文件 1 2 3 4 5_《python数据分析基础》4.1.1:报错——sqlite3.OperationalError: table csv has 5 columns...

第一个报错: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个位置导致的报错

修改之后成功

不按照书上的来有好处也有坏处,

好处就是需要自己解决问题、看报错内容

坏处就是学习进度慢

标签:4.1,python,supplied,20,报错,table,VARCHAR,csv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值