Python使用SQLite和Excel操作進(jìn)行數(shù)據(jù)分析
昨日,女票拿了一個(gè)Excel文檔,里面有上萬條數(shù)據(jù)要進(jìn)行分析,剛開始一個(gè)字段分析,Excel用的不錯(cuò),還能搞定,到后來兩個(gè)字段的分析,還有區(qū)間比如年齡段的數(shù)據(jù)分析,實(shí)在是心疼的不行,于是就想給她程序處理之。
當(dāng)然,我是一直C++和Qt的,當(dāng)時(shí)就想直接Qt+sqlite3寫入數(shù)據(jù)庫,然后就各種數(shù)據(jù)查詢就行了,可做起來卻發(fā)現(xiàn),她機(jī)器上沒有Qt環(huán)境,沒有C++編譯器,得,如果配置環(huán)境也得幾個(gè)小時(shí)了,可當(dāng)時(shí)根本沒有那么多時(shí)間來做,幸好,之前還看過一些Python的東西,并且Python環(huán)境好配啊,于是就想用Python實(shí)現(xiàn)一個(gè)寫數(shù)據(jù)庫,查詢的功能。于是,行動(dòng)之。
環(huán)境配置
1、下載Python:http://www.python.org/downloads/;
2、下載Excel讀取庫:http://pypi.python.org/pypi/xlrd;
3、Sqlite3數(shù)據(jù)庫:這個(gè)是Python自帶的,倒是不用下載了。
編寫代碼
代碼寫的很簡(jiǎn)單,一個(gè)類,在構(gòu)造函數(shù)的時(shí)候初始化數(shù)據(jù)庫對(duì)象,析構(gòu)的時(shí)候釋放數(shù)據(jù)庫對(duì)象。一個(gè)插入數(shù)據(jù)函數(shù),一個(gè)讀取Excel函數(shù),話不多說,上代碼:
import sqlite3
import xlrd
class FileDispose(object):
"""docstring for FileDispose"""
def __init__(self, file):
super(FileDispose, self).__init__()
'''初始化數(shù)據(jù)庫實(shí)例'''
self.conn = sqlite3.connect(file)
self.cursor = self.conn.cursor()
def __del__(self):
'''釋放數(shù)據(jù)庫實(shí)例'''
self.cursor.close()
self.conn.close()
'''數(shù)據(jù)庫插入操作'''
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')
數(shù)據(jù)庫表是我直接拿SQLiteSpy創(chuàng)建的,字段有id,name,sex,age,score,addr這幾個(gè)。
總結(jié)
以上就是本文關(guān)于Python使用SQLite和Excel操作進(jìn)行數(shù)據(jù)分析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Python 16進(jìn)制與中文相互轉(zhuǎn)換的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Python 16進(jìn)制與中文相互轉(zhuǎn)換的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
python Django連接MySQL數(shù)據(jù)庫做增刪改查
本文寫的是python Django連接MySQL數(shù)據(jù)庫的步驟,提供增刪改查的代碼2013-11-11
python print出共軛復(fù)數(shù)的方法詳解
在本篇內(nèi)容里小編給大家分享的是關(guān)于python print出共軛復(fù)數(shù)的方法總結(jié)內(nèi)容,有需要的讀者們可以學(xué)習(xí)下。2019-06-06
python實(shí)現(xiàn)股票歷史數(shù)據(jù)可視化分析案例
股票交易數(shù)據(jù)分析可直觀股市走向,對(duì)于如何把握股票行情,快速解讀股票交易數(shù)據(jù)有不可替代的作用,感興趣的可以了解一下2021-06-06

