Python实现excel转sqlite的方法


Posted in Python onJuly 17, 2017

本文实例讲述了Python实现excel转sqlite的方法。分享给大家供大家参考,具体如下:

Python环境的安装配置就不说了,个人喜欢pydev的开发环境。

python解析excel需要使用第三方的库,这里选择使用xlrd

先看excel内容:

Python实现excel转sqlite的方法

然后是生成的数据库:

Python实现excel转sqlite的方法

下面是源代码:

#!/usr/bin/python
# encoding=utf-8
'''''
Created on 2013-4-2
@author: ting
'''
from xlrd import open_workbook
import sqlite3
import types
def read_excel(sheet):
  # 判断有效sheet
  if sheet.nrows > 0 and sheet.ncols > 0:
    for row in range(1, sheet.nrows):
      row_data = []
      for col in range(sheet.ncols):
        data = sheet.cell(row, col).value
        # excel表格内容数据类型转换 float->int,unicode->utf-8
        if type(data) is types.UnicodeType: data = data.encode("utf-8")
        elif type(data) is types.FloatType: data = int(data)
        row_data.append(data)
      check_data_length(row_data)
# 检查row_data长度
def check_data_length(row_data):
  if len(row_data) == 3:
    insert_sqlite(row_data)
def insert_sqlite(row_data):
  # 打开数据库(不存在时会创建数据库)
  con = sqlite3.connect("test.db")
  cur = con.cursor()
  try:
    cur.execute("create table if not exists contacts(_id integer primary key "\
            "autoincrement,name text,age integer,number integer)")
    # 插入数据不要使用拼接字符串的方式,容易收到sql注入攻击
    cur.execute("insert into contacts(name,age,number) values(?,?,?)", row_data)
    con.commit()
  except sqlite3.Error as e:
    print "An error occurred: %s", e.args[0]
  finally:
    cur.close
    con.close
xls_file = "test.xls"
book = open_workbook(xls_file)
for sheet in book.sheets():
  read_excel(sheet)
print "------ Done ------"

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
深入解析Python中函数的参数与作用域
Mar 20 Python
Python中操作符重载用法分析
Apr 29 Python
Python进阶篇之字典操作总结
Nov 16 Python
python实现批量按比例缩放图片效果
Mar 30 Python
对numpy 数组和矩阵的乘法的进一步理解
Apr 04 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
python中struct模块之字节型数据的处理方法
Aug 27 Python
Python猴子补丁知识点总结
Jan 05 Python
python关于变量名的基础知识点
Mar 03 Python
Python如何使用正则表达式爬取京东商品信息
Jun 01 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 #Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
Jul 17 #Python
Python下实现的RSA加密/解密及签名/验证功能示例
Jul 17 #Python
Python 的类、继承和多态详解
Jul 16 #Python
PyQt 线程类 QThread使用详解
Jul 16 #Python
Pycharm技巧之代码跳转该如何回退
Jul 16 #Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 #Python
You might like
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
jQuery原生的动画效果
2015/07/10 Javascript
jQuery动态添加
2016/04/07 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
python 读取、写入txt文件的示例
2020/09/27 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
婚前保证书
2014/04/29 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python