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中的正则表达式
Apr 28 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
pandas的object对象转时间对象的方法
Apr 11 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
python 对key为时间的dict排序方法
Oct 17 Python
Django之路由层的实现
Sep 09 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
python with (as)语句实例详解
Feb 04 Python
python高级特性简介
Aug 13 Python
Python3中FuzzyWuzzy库实例用法
Nov 18 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 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
桌面中心(一)创建数据库
2006/10/09 PHP
php文件系统处理方法小结
2016/05/23 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
python3人脸识别的两种方法
2019/04/25 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
协议书与合同的区别
2014/04/18 职场文书
我的画教学反思
2014/04/28 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
介绍长城的导游词
2015/01/30 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
公司会议开幕词
2016/03/03 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js