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 相关文章推荐
用smtplib和email封装python发送邮件模块类分享
Feb 17 Python
35个Python编程小技巧
Apr 01 Python
Python中Iterator迭代器的使用杂谈
Jun 20 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
Python下应用opencv 实现人脸检测功能
Oct 24 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
python+selenium+PhantomJS抓取网页动态加载内容
Feb 25 Python
python3用urllib抓取贴吧邮箱和QQ实例
Mar 10 Python
Python多线程多进程实例对比解析
Mar 12 Python
Python使用configparser读取ini配置文件
May 25 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 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
flash用php连接数据库的代码
2011/04/21 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
没有document.getElementByName方法
2013/08/19 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
百度小程序自定义通用toast组件
2019/07/17 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
python3爬取数据至mysql的方法
2018/06/26 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
python实现按行分割文件
2019/07/22 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
python自动生成证件号的方法示例
2021/01/14 Python
天巡全球:Skyscanner Global
2017/06/20 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
计算机专业个人简短的自我评价
2013/10/23 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
Log4j.properties配置及其使用
2021/08/02 Java/Android