假如我现在有一个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()

以上提供了一种可行的方式,可能还存在一些问题。仅供参考!

最新文章

  1. [数据库基础]——图解JOIN
  2. 【BZOJ-3667】Rabin_Miller算法 随机化判素数
  3. Js_Ajax_输入词提示
  4. eclipse中python文本字体大小设置
  5. hdu 1908 Double Queue
  6. ios定制中间突出的tabBar
  7. Spring Boot 入门
  8. php 支持递归函数.递归函数就是调用函数本身.
  9. Gradle templates 的使用
  10. 黑马程序员-- C语言交换两个整数变量值几种函数比较
  11. (IOS)国际本地化设置
  12. java中计算两个时间差
  13. MySQL视图view/存储过程和函数的使用
  14. C# decimal 去掉小数点后的无效0
  15. nginx报错 [error] open() “/usr/local/var/run/openresty.pid” failed (2: No such file or directory)
  16. 一个前端开发者换电脑的过程(IDE篇)
  17. [ 9.24 ]CF每日一题系列—— 468A构造递推
  18. lda topic number
  19. IDEA PYCHARM USAGE NOTE
  20. P2279 消防局的设立(贪心+dp)

热门文章

  1. ajax请求的时候get 和post方式的区别
  2. postman的关联,即如何在请求中引用上次请求返回的值
  3. python基础一 day3 列表方法
  4. python之bool (布尔值)
  5. python之道02
  6. Linux-fuser
  7. day13 函数模块之序列化 random 模块 os模块 sys模块 hashlib模块 collections模块
  8. java内存模型(线程独占部分)
  9. sublime中使用markdown并实时编辑
  10. 用户管理命令--useradd