向表中插入新数据
#!/usr/bin/env python3
import sqlite3
import csv
con=sqlite3.connect('C:\\Users\\Administrator\\Desktop\\Suppliers.db')
c=con.cursor()
create_table="""CREATE TABLE IF NOT EXISTS Suppliers
(Supplier_Name VARCHAR(20),
Invoice_Number VARCHAR(20),
Part_Number VARCHART(20),
Cost FLOAT,
Purchase_Date DATE);"""
c.execute(create_table)
con.commit()
#读取文件
file_reader=csv.reader(open('E:\\研究生学习\\python数据\\实验数据\\CSV文件实验数据\\Suppliers_base.csv','r',encoding='utf-8'),delimiter=',')
header=next(file_reader,None)
for row in file_reader:
# data=[]
# for column_index in range(len(header)):
# data.append(row[column_index])
# print(data)
# c.execute("INSERT INTO Suppliers VALUES (?,?,?,?,?)",data)
print(row)
c.execute("INSERT INTO Suppliers VALUES (?,?,?,?,?)",row)
con.commit()
print('')
#查询Suppliers表
output=c.execute("SELECT * FROM Suppliers")
rows=output.fetchall()
row_count=0
for row in rows:
row_count+=1
result=[]
for col_index in range(len(row)):
result.append(str(row[col_index]))
print(result)
print(row_count)
在这个代码中有个需要注意的地方是,当运行一次时,data中的数据会自动添加到Suppliers表格中,所以当第一次运行没有出错时,就会获得想要的结果,如果持续运行,那么Suppliers表中被会重复插入data数据。