python读取Excel数据插入数据库

使用python将Excel数据插入数据库:

      在刚开始使用时,遇到过好多坑,先详细写一下:

             ①在操作excel时,需要导入xlrd(pip install xlrd) 

             ②在操作数据库时,需要导入pymysql.cursor (pip install pymysql)

     下边是相关代码:

  ① 操作Excel:              

#!/usr/bin/python
# -*- coding: utf-8 -*-
import xlrd

def read_excel(cursor,file_name):
    TABLE_NAME='';
    FIELDS='';
    VALUES='';
    #open file
    workbook=xlrd.open_workbook(file_name)

    #get all sheet
    sheet_list=workbook.sheet_names()

    for sheet in sheet_list:
        TABLE_NAME=sheet
        #如果TABLE_NAME 不存在,则需要创建表
        #GOTO
        sheet2 = workbook.sheet_by_name(sheet)
        fields=sheet2.row_values(0)
        FIELDS = ','.join(fields)
        rows=sheet2.nrows;
        for row in range(rows-1):
            value=sheet2.row_values(row+1)
            VALUES = ','.join("\""+str(v)+"\"" for v in value)
            insert_sql='insert into '+ TABLE_NAME+ '(' + FIELDS + ')'+'VALUES ('+VALUES+')';
            print (insert_sql)
            cursor.execute(insert_sql)

②链接DB

#!/usr/bin/python3
# -*- coding: utf8 -*-

import pymysql.cursors
from ReadExcel import read_excel
# 连接数据库
db = pymysql.Connect(
    host='ip',
    port=3306,
    user='username',
    passwd='PASSWORD%',
    db='DB_NAME',
    charset='utf8'
)

def operation_data():
    cursor=db.cursor()
    read_excel(cursor,'data.xlsx')
    # 关闭数据库连接
    db.commit();
    db.close()

operation_data()

其实本身难度不大,就是当时遇到的坑,在mac docs窗口查询导入的数据竟然出来是乱码,但是在sqlyog等工具里边显示正常。

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值