小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python數(shù)據(jù)保存:記錄pandas數(shù)據(jù)分析完成后的輕量級數(shù)據(jù)保存!

 Python集中營 2023-01-21 發(fā)布于甘肅

本文說的輕量級的數(shù)據(jù)保存指的是sqlite,比如一些手機App的操作都會采用該數(shù)據(jù)庫來完成對數(shù)據(jù)保存。

一個sqlite數(shù)據(jù)庫的大小在KB之間,pandas模塊提供的DataFrame數(shù)據(jù)對象也支持了關(guān)于sqlite的引擎。

為了減少數(shù)據(jù)保存的磁盤空間,使得excel或者csv等格式的數(shù)據(jù)分析結(jié)果進行統(tǒng)一化的保存,使用sqlite的極好的。

這里使用兩個python的非標準庫分別是pandas和sqlalchemy,若是沒有則使用pip的方式直接安裝即可。

pip install pandas

pip install sqlalchemy

使用方式也比較簡單,將這兩個安裝好的模塊分別導(dǎo)入到代碼塊中。

# Importing the pandas module and giving it an alias of pd.
import pandas as pd

# Importing the create_engine function from the sqlalchemy module.
from sqlalchemy import create_engine

將本地的excel或者csv數(shù)據(jù)讀取返回DataFrame對象,現(xiàn)實情況中可能還要進行數(shù)據(jù)處理。

# Reading the excel file and storing it in a dataframe.
data_frame = pd.read_excel('D:/test-data-work/data.xlsx')

# Printing the dataframe.
print(data_frame)

這個時候DataFrame格式的數(shù)據(jù)已經(jīng)存在了,現(xiàn)在考慮使用sqlite將數(shù)據(jù)進行保存。

首先,使用sqlalchemy模塊的create_engine函數(shù)創(chuàng)建sqlite的數(shù)據(jù)庫引擎。

# Creating a sqlite database called test.db.
engine = create_engine('sqlite:///test.db')

使用DataFrame對象提供的to_sql()函數(shù)將該data_frame保存到sqlite數(shù)據(jù)庫表名稱為data的數(shù)據(jù)表中。

# Saving the dataframe to the sqlite database.
data_frame.to_sql('data', engine)

保存完成之后會在本地的當前環(huán)境下生成test.db的數(shù)據(jù)庫文件了。

若是想要讀取存儲的結(jié)果pandas模塊也提供了read_sql()函數(shù)讀取后再次返回DataFrame的數(shù)據(jù)對象。

# Reading the data from the sqlite database.
result_ = pd.read_sql('data', engine)

# Printing the dataframe that was read from the sqlite database.
print(result_)

#      index          姓名   年齡    班級   成績 表現(xiàn)       入學(xué)時間
# 0        0  Python 集中營   10  1210   99  A 2022-10-17
# 1        1  Python 集中營   11  1211  100  A 2022-10-18
# 2        2  Python 集中營   12  1212  101  A 2022-10-19
# 3        3  Python 集中營   13  1213  102  A 2022-10-20
# 4        4  Python 集中營   14  1214  103  A 2022-10-21
# ..     ...         ...  ...   ...  ... ..        ...
# 194    194  Python 集中營  186  1386  275  A 2023-04-29
# 195    195  Python 集中營  187  1387  276  A 2023-04-30
# 196    196  Python 集中營  188  1388  277  A 2023-05-01
# 197    197  Python 集中營  189  1389  278  A 2023-05-02
# 198    198  Python 集中營  190  1390  279  A 2023-05-03

如果有直接操作sqlite數(shù)據(jù)庫的需要,可以到sqlite官網(wǎng)下載客戶端工具直接進行SQL層面的增刪改查操作。

https://www./download.html

「Python 集中營」,只做知識分享 !

知識記錄:python如何通過反射機制處理對象?

PyQt5干貨:如何實現(xiàn)進度條與定時器及子線程的同步關(guān)聯(lián)!

數(shù)據(jù)可視化:幾個常用的python數(shù)據(jù)可視化非標準模塊!

記錄一次關(guān)于python內(nèi)存泄露的排查!

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多