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 列表(List)操作方法详解
Mar 11 Python
介绍Python的Django框架中的QuerySets
Apr 20 Python
python中base64加密解密方法实例分析
May 16 Python
在Python操作时间和日期之asctime()方法的使用
May 22 Python
Python制作数据导入导出工具
Jul 31 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
python实现QQ批量登录功能
Jun 19 Python
python自动生成model文件过程详解
Nov 02 Python
pycharm 对代码做静态检查操作
Jun 09 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
聊聊Python String型列表求最值的问题
Jan 18 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
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
Python中%r和%s的详解及区别
2017/03/16 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
python中partial()基础用法说明
2018/12/30 Python
python groupby 函数 as_index详解
2019/12/16 Python
python机器学习库xgboost的使用
2020/01/20 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
一封普通求职者的求职信
2013/11/20 职场文书
《雨点》教学反思
2014/02/12 职场文书
人力资源管理专业毕业生自荐书
2014/05/25 职场文书
机电一体化专业求职信
2014/07/22 职场文书
银行贷款委托书范本
2014/10/11 职场文书
学生会个人总结范文
2015/02/15 职场文书
大学生就业意向书
2015/05/11 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server