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实现的去除win下文本文件头部BOM的代码
Feb 10 Python
Linux环境下MySQL-python安装过程分享
Feb 02 Python
开源Web应用框架Django图文教程
Mar 09 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
对python中类的继承与方法重写介绍
Jan 20 Python
python代理工具mitmproxy使用指南
Jul 04 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
python实现最小二乘法线性拟合
Jul 19 Python
简单了解python数组的基本操作
Nov 26 Python
关于Django Models CharField 参数说明
Mar 31 Python
python 数据库查询返回list或tuple实例
May 15 Python
python爬取网易云音乐热歌榜实例代码
Aug 07 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开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
jquery ajax 局部刷新小案例
2014/02/08 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
python基础教程之序列详解
2014/08/29 Python
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
python中函数传参详解
2016/07/03 Python
python简单实例训练(21~30)
2017/11/15 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
python计算日期之间的放假日期
2018/06/05 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
新护士岗前培训制度
2014/02/02 职场文书
小学数学国培感言
2014/03/10 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
2015年暑假生活总结
2015/07/13 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB
MYSQL常用函数介绍
2022/05/05 MySQL