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模块之StringIO使用示例
Apr 08 Python
Python读写unicode文件的方法
Jul 10 Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 Python
python多进程实现文件下载传输功能
Jul 28 Python
值得收藏的10道python 面试题
Apr 15 Python
python反编译学习之字节码详解
May 19 Python
使用OpenCV实现仿射变换—平移功能
Aug 29 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
Python调用Windows命令打印文件
Feb 07 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 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对象类型判断
2008/08/27 PHP
PHP输出时间差函数代码
2013/01/28 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
使用JavaScript switch case 另类写法
2010/03/14 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
巧用canvas
2017/01/21 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python 从csv读数据到mysql的实例
2018/06/21 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
python 三元运算符使用解析
2019/09/16 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
汽车销售求职自荐信
2013/10/01 职场文书
应届生法律顾问求职信
2013/11/19 职场文书
学生自我评价范文
2014/02/02 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
2015年党建工作总结
2015/03/30 职场文书