把excel文件直接导入mysql数据库中,表名直接取sheet页面名称,第一行为字段名称

本文介绍了如何将Excel文件直接导入MySQL数据库,表名对应sheet页名称,且第一行作为字段名。文中分享了实现该功能过程中遇到的问题,如字段名处理、字符字段限制以及Python执行异常时的处理。此外,还提供了检查表是否存在、记录去重的函数及完整代码示例。
摘要由CSDN通过智能技术生成

几个心得:

1、字段名如果包含特殊字符,需要用`

2、字符字段最多65535,所以不能直接用varchar(1000),而是用了TEXT

3、python执行中途出错时,如果通过客户端软件操作mysql数据库,需要先把python执行退出,否则会挂死

 

实现功能:

把放置在D盘下的excel文件直接导入mysql数据库中,表名直接取sheet页面名称,第一行为字段名称

 

修改记录:

增加了表是否存在的判断

增加了记录去重的处理

 

#coding=utf-8
import xlrd
import MySQLdb

import re
 
def table_exists(con,table_name):#这个函数用来判断表是否存在
    sql = "show tables;"
    con.execute(sql)
    #print(con.fetchall())
    tables = [con.fetchall()]
    print(tables)
    table_list = re.findall('(\'.*?\')',str(tables))
    #(('newtable',), ('sheet1',), ('test',))
    print(table_list)
    table_list = [re.sub("'",'',each) for each in table_list]
    print(table_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值