使用Python将数据插入数据库(一)
2024-08-29 20:35:25
假如我现在有一个Excel数据表格,需要将其数据插入MySQL数据库中。数据如下:
对应的Python实现代码如下:
#导入需要使用到的数据模块
import pandas as pd
import pymysql #读入数据
filepath = 'E:\_DataSet\catering_sale.xls'
data = pd.read_excel(filepath) #建立数据库连接
db = pymysql.connect('localhost','root','','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','','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()
以上提供了一种可行的方式,可能还存在一些问题。仅供参考!
最新文章
- [数据库基础]——图解JOIN
- 【BZOJ-3667】Rabin_Miller算法 随机化判素数
- Js_Ajax_输入词提示
- eclipse中python文本字体大小设置
- hdu 1908 Double Queue
- ios定制中间突出的tabBar
- Spring Boot 入门
- php 支持递归函数.递归函数就是调用函数本身.
- Gradle templates 的使用
- 黑马程序员-- C语言交换两个整数变量值几种函数比较
- (IOS)国际本地化设置
- java中计算两个时间差
- MySQL视图view/存储过程和函数的使用
- C# decimal 去掉小数点后的无效0
- nginx报错 [error] open() “/usr/local/var/run/openresty.pid” failed (2: No such file or directory)
- 一个前端开发者换电脑的过程(IDE篇)
- [ 9.24 ]CF每日一题系列—— 468A构造递推
- lda topic number
- IDEA PYCHARM USAGE NOTE
- P2279 消防局的设立(贪心+dp)