昨日,女票拿了一個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 sqlite3import xlrdclass 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操作進行數據分析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
新聞熱點
疑難解答