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定时执行之Timer用法示例
May 27 Python
深入浅析Python中join 和 split详解(推荐)
Jun 30 Python
Python实现的计算器功能示例
Apr 26 Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
python3 mmh3安装及使用方法
Oct 09 Python
Tensorflow分批量读取数据教程
Feb 07 Python
keras中的卷积层&池化层的用法
May 22 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
在Tensorflow中实现leakyRelu操作详解(高效)
Jun 30 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
4种方法python批量修改替换列表中元素
Apr 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
YII实现分页的方法
2014/07/09 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
php的socket编程详解
2016/11/20 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
python调用摄像头拍摄数据集
2019/06/01 Python
基于python实现删除指定文件类型
2020/07/21 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
党员公开承诺书内容
2014/05/20 职场文书
政府个人对照检查材料
2014/08/28 职场文书
四风自我剖析材料
2014/09/30 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
导游词之张家口
2019/12/13 职场文书
Python如何识别银行卡卡号?
2021/06/10 Python