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抓taobao图片爬虫
Oct 26 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
python使用threading获取线程函数返回值的实现方法
Nov 15 Python
Python构建网页爬虫原理分析
Dec 19 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
Python实现微信小程序支付功能
Jul 25 Python
详解Python3 pandas.merge用法
Sep 05 Python
python类共享变量操作
Sep 03 Python
python中re模块知识点总结
Jan 17 Python
用Python实现屏幕截图详解
Jan 22 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桌面中心(三) 修改数据库
2007/03/11 PHP
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
解析php中die(),exit(),return的区别
2013/06/20 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
Python json模块使用实例
2015/04/11 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
建筑毕业生自我鉴定
2013/10/18 职场文书
大学生自我鉴定
2013/12/08 职场文书
预备党员的自我评价
2014/03/12 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
毕业寄语大全
2014/04/09 职场文书
电子专业自荐信
2014/07/01 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
化验员岗位职责
2015/02/14 职场文书
安全守法证明
2015/06/23 职场文书
《花钟》教学反思
2016/02/17 职场文书