csv文件批量导入数据到sqlite。

时间:2021-08-14 11:54:05

csv文件批量导入数据到sqlite。

代码:

f = web.input(bs_switch = {})  # bs_switch 为from表单file字段的name
data =[i.split(",") for i in f["bs_switch"].file.read().split()[1:]]

#这里的步骤:

#1、读取导入的内容:f["bs_switch"].file.read()

#2、因为导入的内容为str,转化为列表。用split()。

#3、因为csv文件的第一栏为字段名称,不需要,故用 [1:0]切片。

#4、数据列表的每一项为一个单独的str,需用csv分隔符将数据转换为list。用split(",")方法。

#5、注意的是,导入前,需将csv的编码设置为utf-8。

for i in data:

i[0] = conf.get_field_by_name("bs_line","id",i[0]) #将字段名称转化为数据库中的id值。

db2.query("INSERT INTO bs_switch (l_id,name,type,property,remarks) VALUES('%s','%s','%s','%s','%s')"%tuple(i))