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对比C语言的编程思想差异
Aug 30 Python
python3写爬取B站视频弹幕功能
Dec 22 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 Python
Python分支语句与循环语句应用实例分析
May 07 Python
Python学习笔记之变量、自定义函数用法示例
May 28 Python
如何使用Python自动控制windows桌面
Jul 11 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
django 简单实现登录验证给你
Nov 06 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 Python
Python中三种花式打印的示例详解
Mar 19 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
JS简单计算器实例
2015/01/20 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
Js apply方法详解
2017/02/16 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
react-native之ART绘图方法详解
2017/08/08 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
详解Python中的Cookie模块使用
2015/07/06 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
Python中os模块功能与用法详解
2020/02/26 Python
python中Django文件上传方法详解
2020/08/05 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
英国绿色商店:Natural Collection
2019/05/03 全球购物
Ajxa常见问题都有哪些
2014/03/26 面试题
小学生中国梦演讲稿
2014/04/23 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
幼儿生日活动方案
2014/08/27 职场文书
解除劳动合同协议书
2014/09/17 职场文书
管理失职检讨书范文
2015/05/05 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
解决 redis 无法远程连接
2022/05/15 Redis
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers