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脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
在Python中处理XML的教程
Apr 29 Python
Python实现简单多线程任务队列
Feb 27 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
浅谈Python的list中的选取范围
Nov 12 Python
python暴力解压rar加密文件过程详解
Jul 05 Python
pycharm配置git(图文教程)
Aug 16 Python
python 实现目录复制的三种小结
Dec 04 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
python语言中有算法吗
Jun 16 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 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
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
Windows7下的php环境配置教程
2015/02/28 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
javascript连续赋值问题
2015/07/08 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
Python爬取京东的商品分类与链接
2016/08/26 Python
浅谈Django的缓存机制
2018/08/23 Python
python读取和保存图片5种方法对比
2018/09/12 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
省级四好少年事迹材料
2014/01/25 职场文书
大二自我鉴定
2014/01/31 职场文书
求职简历自我评价范例
2014/03/12 职场文书
文艺晚会策划方案
2014/06/11 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
python基础之文件处理知识总结
2021/05/23 Python
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers