数据库在python中的操作(1)

向表中插入新数据
#!/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数据。

你可能感兴趣的:(python)