python如何将数据插入数据库

python

python将数据插入数据库的方法:首先读入数据并建立数据库连接;然后创建数据库;接着执行插入数据语句,迭代读取每行数据;最后关闭数据库连接即可。

比如现在我们要将如下Excel数据表格插入到MySQL数据库中,该如何实现呢?

(推荐教程:Python入门教程)

实现代码:

#导入需要使用到的数据模块

import pandas as pd

import pymysql

#读入数据

filepath = 'E:\_DataSetcatering_sale.xls'

data = pd.read_excel(filepath)

#建立数据库连接

db = pymysql.connect('localhost','root','1234','python_analysis')

#获取游标对象

cursor = db.cursor()

#创建数据库,如果数据库已经存在,注意主键不要重复,否则出错

try:

    cursor.execute('create table catering_sale(num int primary key,date datetime, sale float )')

except:

    print('数据库已存在!')

#插入数据语句

query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)"""

#迭代读取每行数据

#values中元素有个类型的强制转换,否则会出错的

#应该会有其他更合适的方式,可以进一步了解

for r in range(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(query, values)

#关闭游标,提交,关闭数据库连接

#如果没有这些关闭操作,执行后在数据库中查看不到数据

cursor.close()

db.commit()

db.close()

#重新建立数据库连接

db = pymysql.connect('localhost','root','1234','python_anylysis')

cursor = db.cursor()

#查询数据库并打印内容

cursor.execute('''select * from catering_sale''')

results = cursor.fetchall()

for row in results:

    print(row)

#关闭

cursor.close()

db.commit()

db.close()

以上是 python如何将数据插入数据库 的全部内容, 来源链接: utcz.com/z/528681.html

回到顶部