2022年 11月 5日

python中如何导入数据包,python如何将数据插入数据库

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

9210b1a0f7ef57ec623aab9f04126093.png

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

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

4c750a4f57cc758a4d2637b550db4c8b.png

实现代码:#导入需要使用到的数据模块

import pandas as pd

import pymysql

#读入数据

filepath = ‘E:\_DataSet\catering_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()