Python使用SQLite和Excel操作进行数据分析


Posted in Python onJanuary 20, 2018

昨日,女票拿了一个Excel文档,里面有上万条数据要进行分析,刚开始一个字段分析,Excel用的不错,还能搞定,到后来两个字段的分析,还有区间比如年龄段的数据分析,实在是心疼的不行,于是就想给她程序处理之。

当然,我是一直C++和Qt的,当时就想直接Qt+sqlite3写入数据库,然后就各种数据查询就行了,可做起来却发现,她机器上没有Qt环境,没有C++编译器,得,如果配置环境也得几个小时了,可当时根本没有那么多时间来做,幸好,之前还看过一些Python的东西,并且Python环境好配啊,于是就想用Python实现一个写数据库,查询的功能。于是,行动之。

环境配置

1、下载Python:http://www.python.org/downloads/;
2、下载Excel读取库:http://pypi.python.org/pypi/xlrd;
3、Sqlite3数据库:这个是Python自带的,倒是不用下载了。

编写代码

代码写的很简单,一个类,在构造函数的时候初始化数据库对象,析构的时候释放数据库对象。一个插入数据函数,一个读取Excel函数,话不多说,上代码:

import sqlite3
import xlrd

class FileDispose(object):
  """docstring for FileDispose"""
  def __init__(self, file):
    super(FileDispose, self).__init__()
    '''初始化数据库实例'''
    self.conn = sqlite3.connect(file)
    self.cursor = self.conn.cursor()

  def __del__(self):
    '''释放数据库实例'''
    self.cursor.close()
    self.conn.close()

  '''数据库插入操作'''
  def insert(self,id,name,sex,age,score,addr):
    sql = 'insert into student(id,name,sex,age,score,addr) values (%d,\"%s\",\"%s\",\"%s\",\"%s\",\"%s\")' % (int(id),name,sex,age,score,addr)
    print(sql)
    self.cursor.execute(sql)
    self.conn.commit()

  '''读取Excel文件'''
  def readFile(self, file):
    data = xlrd.open_workbook(file)
    table = data.sheets()[2]
    for rowId in range(1, 100):
      row = table.row_values(rowId)
      if row:
        self.insert(rowId,row[0],row[1],row[2],row[3],row[4])


fd = FileDispose("F:/test.db")
fd.readFile('F:/excel.xlsx')

数据库表是我直接拿SQLiteSpy创建的,字段有id,name,sex,age,score,addr这几个。

总结

以上就是本文关于Python使用SQLite和Excel操作进行数据分析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python 实现堆排序算法代码
Jun 05 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
May 20 Python
Python网站验证码识别
Jan 25 Python
Python实现基本线性数据结构
Aug 22 Python
Python实现Mysql数据库连接池实例详解
Apr 11 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
python实现文件的备份流程详解
Jun 18 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
Python 解析简单的XML数据
Jul 24 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
Python之matplotlib绘制折线图
Apr 13 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 #Python
Python实现PS滤镜中马赛克效果示例
Jan 20 #Python
浅析python协程相关概念
Jan 20 #Python
Python实现可自定义大小的截屏功能
Jan 20 #Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 #Python
Python+matplotlib绘制不同大小和颜色散点图实例
Jan 19 #Python
Python搭建FTP服务器的方法示例
Jan 19 #Python
You might like
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
window.location.hash 属性使用说明
2010/03/20 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
setTimeout学习小结
2017/02/08 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
vue中v-model的应用及使用详解
2018/06/27 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
Python计算程序运行时间的方法
2014/12/13 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
网站域名和主机:Domain.com
2019/04/01 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
局部内部类是否可以访问非final变量?
2013/04/20 面试题
新大陆软件面试题
2016/11/24 面试题
校园餐饮创业计划书
2014/01/10 职场文书
《童年的发现》教学反思
2014/02/14 职场文书
倡议书范文
2014/04/16 职场文书
大学生就业自荐书
2014/06/16 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python