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 translator使用实例
Sep 06 Python
Python logging模块学习笔记
May 24 Python
Python科学计算之NumPy入门教程
Jan 15 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
python unittest实现api自动化测试
Apr 04 Python
Python3实现购物车功能
Apr 18 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
python的移位操作实现详解
Aug 21 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
基于python实现破解滑动验证码过程解析
May 28 Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 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学习笔记之一
2011/01/17 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
英国著名药妆店:Superdrug
2021/02/13 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
加拿大留学自荐信
2014/01/28 职场文书
安全生产责任书
2014/03/12 职场文书
房屋公证委托书
2014/04/03 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
MySQL系列之四 SQL语法
2021/07/02 MySQL
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server