• 使用Python将数据插入数据库(一)


    假如我现在有一个Excel数据表格,需要将其数据插入MySQL数据库中。数据如下:

    对应的Python实现代码如下:

     1 #导入需要使用到的数据模块
     2 import pandas as pd
     3 import pymysql
     4 
     5 #读入数据
     6 filepath = 'E:\_DataSetcatering_sale.xls'
     7 data = pd.read_excel(filepath)
     8 
     9 #建立数据库连接
    10 db = pymysql.connect('localhost','root','1234','python_analysis')
    11 #获取游标对象
    12 cursor = db.cursor()
    13 #创建数据库,如果数据库已经存在,注意主键不要重复,否则出错
    14 try:
    15     cursor.execute('create table catering_sale(num int primary key,date datetime, sale float )')
    16 except:
    17     print('数据库已存在!')
    18 
    19 #插入数据语句
    20 query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)"""
    21 
    22 #迭代读取每行数据
    23 #values中元素有个类型的强制转换,否则会出错的
    24 #应该会有其他更合适的方式,可以进一步了解
    25 for r in range(0, len(data)):
    26     num = data.ix[r,0]
    27     date = data.ix[r,1]
    28     sale = data.ix[r,2]
    29     values = (int(num), str(date), float(sale))
    30     cursor.execute(query, values)
    31 
    32 #关闭游标,提交,关闭数据库连接
    33 #如果没有这些关闭操作,执行后在数据库中查看不到数据 
    34 cursor.close()
    35 db.commit()
    36 db.close()
    37 
    38 
    39 
    40 
    41 #重新建立数据库连接
    42 db = pymysql.connect('localhost','root','1234','python_anylysis')
    43 cursor = db.cursor()
    44 #查询数据库并打印内容
    45 cursor.execute('''select * from catering_sale''')
    46 results = cursor.fetchall()
    47 for row in results:
    48     print(row)
    49 #关闭
    50 cursor.close()
    51 db.commit()
    52 db.close()

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

  • 相关阅读:
    putty配置
    BroadcastReceiver应用详解 (转)
    linux主设备号和次设备号
    Enable screen lock and HOME key (eclair and older versions)(转)
    C#获取用户桌面等特殊系统路径
    java中Thread与Runnable的区别
    博文索引
    FlinkCDC实践
    关于libxml2.so.2不被Gstreamer链接的解决
    s.length什么意思
  • 原文地址:https://www.cnblogs.com/dennis-liucd/p/7265641.html
Copyright © 2020-2023  润新知