• 技术文章 >Python技术 >Python基础教程

    python如何将数据插入数据库

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

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

    (推荐教程:Python入门教程

    294649551e5a181455c4b52f23b8e44.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()
    专题推荐:python 数据库
    品易云
    上一篇:python怎样在一个范围内取随机数 下一篇:中文在python中占几个字节

    相关文章推荐

    • python如何导入txt数据库?• python更新不了数据库解决方法• python无法连接数据库如何解决

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网