将python数据插入数据库的方法:先读入数据,建立数据库连接;然后创建一个数据库;然后执行insert data语句,迭代读取每一行数据;最后,关闭数据库连接。
例如,现在我们想将下面的Excel数据表插入MySQL数据库。如何才能实现这一点?
(推荐教程:Python入门)
实施代码:
#导入要使用的数据模块。
importpandasaspd
importpymysql
#读入数据
file path= e : _ DataSet cationing _ sale . xls
data=pd.read_excel(文件路径)
#建立数据库连接
db=pymysql.connect(localhost , root , 1234 , python_analysis )
#获取光标对象
cursor=db.cursor()
#创建一个数据库。如果数据库已经存在,注意不要复制主键,否则会出现错误。
尝试:
cursor . execute( createtable餐饮_销售(numintprimarykey,datetime,salefloat))
例外:
打印(数据库已经存在!)
#插入数据语句
query= insertintocationing _ sale(数量,日期,销售)值(%s,%s,%s)
#迭代读取每行数据
#values中的元素具有类型转换,否则将会出错。
#应该有其他更合适的方式来了解更多。
forrinrange(0,len(data)):
num=data.ix[r,0]
date=data.ix[r,1]
sale=data.ix[r,2]
values=(int(num),str(date),float(sale))
cursor.execute(查询,值)
#关闭游标,提交,关闭数据库连接
#如果没有这些关闭操作,执行后就无法在数据库中查看数据。
cursor.close()
数据库提交()
db.close()
#重新建立数据库连接
db=pymysql.connect(localhost , root , 1234 , python _ anylysis )
cursor=db.cursor()
#查询数据库并打印内容
cursor . execute( select * from餐饮_销售)
results=cursor.fetchall()
forrowinresults:
打印(行)
#关闭
cursor.close()
数据库提交()
db.close()