Python讀取和處理檔案尾碼為".sqlite"的資料檔案

來源:互聯網
上載者:User

標籤:overflow   項目   blog   建立串連   方便   步驟   aop   where   connect   

最近在弄一個項目分析的時候,看到有一個尾碼為”.sqlite”的資料檔案,由於以前沒怎麼接觸過,就想著怎麼用python來開啟並進行資料分析與處理,於是稍微研究了一下。

SQLite是一款非常流行的關係型資料庫,由於它非常輕盈,因此被大量應用程式採用。

像csv檔案一樣,SQLite可以將資料存放區於單個資料檔案,以便方便的分享給其他人員。許多程式設計語言都支援SQLite資料的處理,python語言也不例外。

sqlite3是python的一個標準庫,可以用於處理SQLite資料庫。

用sqlite3建立和操作資料庫檔案

對於資料庫的SQL語句,本文會用到最基礎的SQL語句,應該不影響閱讀。如果想進一步瞭解,可參考如下網址:
http://www.w3school.com.cn/sql/index.asp

下面,我們來應用salite3模組來建立SQLite資料檔案,以及進行資料讀寫操作。主要的步驟如下:

  1. 與資料庫建立串連,建立資料庫檔案(.sqlite檔案)
  2. 建立遊標(cursor)
  3. 建立資料表(table)
  4. 向資料表中插入資料
  5. 查詢資料

示範代碼如下:

import sqlite3with sqlite3.connect(‘test_database.sqlite‘) as con:    c = con.cursor()    c.execute(‘‘‘CREATE TABLE test_table    (date text, city text, value real)‘‘‘)    for table in c.execute("SELECT name FROM sqlite_master WHERE type=‘table‘"):        print("Table", table[0])    c.execute(‘‘‘INSERT INTO test_table VALUES    (‘2017-6-25‘, ‘bj‘, 100)‘‘‘)    c.execute(‘‘‘INSERT INTO test_table VALUES    (‘2017-6-25‘, ‘pydataroad‘, 150)‘‘‘)    c.execute("SELECT * FROM test_table")    print(c.fetchall())
Table test_table[(‘2017-6-25‘, ‘bj‘, 100.0), (‘2017-6-25‘, ‘pydataroad‘, 150.0)]

關於SQLite資料庫中資料的可視化預覽,有很多的工具可以實現,我這裡使用的是SQLite Studio,是一個免費使用的工具,不需要安裝,下載下來就可以使用,有興趣的同學可以參考下面的連結。

https://sqlitestudio.pl/index.rvt?act=download

資料預覽的效果如下:

用pandas來讀取sqlite資料檔案

從上面代碼的運行結果可以看出,資料查詢的結果是一個由tuple組成的list。python的list資料在進行進一步的資料處理與分析時,可能會不太方便。可以想象一下,假設如果資料庫的表格中一共有100萬行或者更多資料,從list中迴圈遍曆擷取資料,效率會比較低。

這時,我們可以考慮用pandas提供的函數來從SQLite資料庫檔案中讀取相關資料資訊,並儲存在DataFrame中,方便後續進一步處理。

Pandas提供了兩個函數,均可以讀取尾碼為“.sqlite”資料檔案的資訊。

  • read_sql()
  • read_sql_query()
import pandas as pdwith sqlite3.connect(‘test_database.sqlite‘) as con:    # read_sql_query和read_sql都能通過SQL語句從資料庫檔案中擷取資料資訊    df = pd.read_sql_query("SELECT * FROM test_table", con=con)    # df = pd.read_sql("SELECT * FROM test_table", con=con)    print(df.shape)    print(df.dtypes)    print(df.head())
(2, 3)date      objectcity      objectvalue    float64dtype: object        date        city  value0  2017-6-25          bj  100.01  2017-6-25  pydataroad  150.0



?

Python讀取和處理檔案尾碼為".sqlite"的資料檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.