国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python使用SQLite和Excel操作進(jìn)行數(shù)據(jù)分析

2020-01-04 16:11:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

昨日,女票拿了一個(gè)Excel文檔,里面有上萬(wàn)條數(shù)據(jù)要進(jìn)行分析,剛開(kāi)始一個(gè)字段分析,Excel用的不錯(cuò),還能搞定,到后來(lái)兩個(gè)字段的分析,還有區(qū)間比如年齡段的數(shù)據(jù)分析,實(shí)在是心疼的不行,于是就想給她程序處理之。

當(dāng)然,我是一直C++和Qt的,當(dāng)時(shí)就想直接Qt+sqlite3寫(xiě)入數(shù)據(jù)庫(kù),然后就各種數(shù)據(jù)查詢(xún)就行了,可做起來(lái)卻發(fā)現(xiàn),她機(jī)器上沒(méi)有Qt環(huán)境,沒(méi)有C++編譯器,得,如果配置環(huán)境也得幾個(gè)小時(shí)了,可當(dāng)時(shí)根本沒(méi)有那么多時(shí)間來(lái)做,幸好,之前還看過(guò)一些Python的東西,并且Python環(huán)境好配啊,于是就想用Python實(shí)現(xiàn)一個(gè)寫(xiě)數(shù)據(jù)庫(kù),查詢(xún)的功能。于是,行動(dòng)之。

環(huán)境配置

1、下載Python:http://www.python/269062.html">python/292036.html">python/269879.html">python.org/downloads/;
2、下載Excel讀取庫(kù):http://pypi.python.org/pypi/xlrd;
3、Sqlite3數(shù)據(jù)庫(kù):這個(gè)是Python自帶的,倒是不用下載了。

編寫(xiě)代碼

代碼寫(xiě)的很簡(jiǎn)單,一個(gè)類(lèi),在構(gòu)造函數(shù)的時(shí)候初始化數(shù)據(jù)庫(kù)對(duì)象,析構(gòu)的時(shí)候釋放數(shù)據(jù)庫(kù)對(duì)象。一個(gè)插入數(shù)據(jù)函數(shù),一個(gè)讀取Excel函數(shù),話(huà)不多說(shuō),上代碼:

import sqlite3import xlrdclass FileDispose(object):  """docstring for FileDispose"""  def __init__(self, file):    super(FileDispose, self).__init__()    '''初始化數(shù)據(jù)庫(kù)實(shí)例'''    self.conn = sqlite3.connect(file)    self.cursor = self.conn.cursor()  def __del__(self):    '''釋放數(shù)據(jù)庫(kù)實(shí)例'''    self.cursor.close()    self.conn.close()  '''數(shù)據(jù)庫(kù)插入操作'''  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ù)庫(kù)表是我直接拿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)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 娱乐| 兴文县| 吉林省| 军事| 漳州市| 太原市| 辛集市| 西平县| 晴隆县| 安泽县| 鱼台县| 芜湖县| 宜阳县| 宁都县| 化隆| 岳普湖县| 克什克腾旗| 黄骅市| 蒙山县| 吕梁市| 遵义县| 赤峰市| 安吉县| 交城县| 革吉县| 汉沽区| 五家渠市| 盱眙县| 定南县| 江城| 贺兰县| 读书| 武安市| 汕尾市| 遂川县| 通州区| 白河县| 阿合奇县| 奉化市| 武冈市| 女性|