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爬虫之神器正则表达式
Nov 06 Python
Python实现感知机(PLA)算法
Dec 20 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 Python
解决Python3下map函数的显示问题
Dec 04 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
Django模板标签中url使用详解(url跳转到指定页面)
Mar 19 Python
Python3交互式shell ipython3安装及使用详解
Jul 11 Python
Python rabbitMQ如何实现生产消费者模式
Aug 24 Python
Python colormap库的安装和使用详情
Oct 06 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 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如何实现跨域
2016/05/30 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
详解javascript void(0)
2020/07/13 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
python实现RSA加密(解密)算法
2016/02/17 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
python3去掉string中的标点符号方法
2019/01/22 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
浅谈django channels 路由误导
2020/05/28 Python
python全栈开发语法总结
2020/11/22 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
电工技术比武方案
2014/05/11 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
放假通知
2015/04/14 职场文书