首先安装xlrd模块:pip install xlrd,核心代码网上有很多,这里主要是关于一些个人实际碰到问题细节的处理
1、excel数据不规范导致读取的数据存在空白行和列;
2、参数化执行sql
代码如下,仅供参考:
1 import xlrd 2 3 import AppSetting.AppConfig as config 4 import AppSetting.dbConfig as db 5 6 # 处理excel依赖xlrd模块 pip install xlrd 7 8 # 读取excel文件 9 excel_data = xlrd.open_workbook(config.file_path) 10 # 获取第一个sheet页 11 sheet = excel_data.sheet_by_index(0) 12 # 总行数 13 rows = sheet.nrows 14 # 获取列(经常读取到的excel可能存在空白行或者空白列,这里根据第一行的数据获取要导入的数据的列数) 15 rowlsts = [i for i in sheet.row_values(0) if i != ‘‘] 16 cursor = db.connect.cursor() 17 # 定义变量n,当n=0 时组装参数化的sql 18 n = 0 19 sql = "" 20 # 由于excel中第一行存储的是字段名,获取数据从第二行开始 21 for i in range(1,rows): 22 try: 23 item = sheet.row_values(i)[:len(rowlsts)] 24 data = ‘‘ 25 # 组装参数化sql,通过拼接%s得到占位符 26 for j in range(0,len(rowlsts)): 27 data += "%s," 28 data = data.rstrip(‘,‘) 29 if n == 0: 30 sql = "insert into co_zfxx(%s) values( %s )" % (str.join(‘,‘,rowlsts),data) 31 cursor.execute(sql,tuple(item)) 32 else: 33 cursor.execute(sql,tuple(item)) 34 35 except Exception as ex: 36 print(ex) 37 38 finally: 39 n += 1 40 41 db.connect.commit() 42 cursor.close() 43 db.connect.close()
本次测试执行5w条数据(26个字段),执行时间22s
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。