91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Python來拯救Excel遇到大數據問題

發布時間:2021-10-28 17:50:25 來源:億速云 閱讀:193 作者:柒染 欄目:編程語言

本篇文章為大家展示了如何用Python來拯救Excel遇到大數據問題,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Excel能做很多事情;當涉及到更大的數據集時,這簡直是一種痛苦。數據需要很長時間才能加載,在你意識到機器的內存耗盡之前,整個事情就變得無法管理了。更不用說Excel最多只能支持1,048,576行。

如果有一種簡單的方法,那就是將數據傳輸到SQL數據庫中進行分析。這就是Python拯救世界的方式。

Python中的SQL

首先,讓我們研究一下在Python中使用SQL時最流行的選項:MySQL和SQLite。

MySQL有兩個流行的庫:PyMySQL和MySQLDb;而SQLite有SQLite3。

SQLite就是所謂的嵌入式數據庫,這意味著它在我們的應用程序中運行,因此不需要先在某個地方安裝它(不像MySQL)。

這是一個重要的區別;在我們尋求快速數據分析的過程中起著關鍵作用。因此,我們將繼續學習如何使用SQLite。

在Python中設置SQLite

我們需要做的第一件事是導入庫:

import sqlite3

然后,我們需要確定是否要在任何地方保存這個數據庫,還是在應用程序運行時將它保存在內存中。

如果決定通過導入任何數據來實際保存數據庫,那么我們必須給數據庫一個名稱,例如' FinanceExplainedDb ',并使用以下命令:

dbname = 'FinanceExplainedDb' conn = sqlite3.connect(dbname + '.sqlite')

另一方面,如果我們想把整個東西保存在內存中,并在完成后讓它消失,我們可以使用以下命令:

conn = sqlite3.connect(':memory:')

至此,SQLite已經全部設置好,可以在Python中使用了。假設我們在Table 1中加載了一些數據,我們可以用以下方式執行SQL命令:

cur = conn.cursor() cur.execute('SELECT * FROM Table1') for row in cur:     print(row)

現在讓我們探索如何通過使用pandas的應用程序使數據可用。

使用pandas加載數據

假設我們已經有了數據,我們想要進行分析,我們可以使用Pandas庫來做這件事。

首先,我們需要導入pandas庫,然后我們可以加載數據:

import pandas as pd #if we have a csv file df = pd.read_csv('ourfile.csv') #if we have an excel file df = pd.read_excel('ourfile.xlsx')

一旦我們加載數據,我們可以把它直接放入我們的SQL數據庫與一個簡單的命令:

df.to_sql(name='Table1', con=conn)

如果在同一個表中加載多個文件,可以使用if_exists參數:

df.to_sql(name='Table1', con=conn, if_exists='append')

在處理較大的數據集時,我們將無法使用這個單行命令來加載數據。我們的應用程序將耗盡內存。相反,我們必須一點一點地加載數據。在這個例子中,我們假設每次加載10,000行:

chunksize = 10000 for chunk in pd.read_csv('ourfile.csv', chunksizechunksize=chunksize):     chunk.to_sql(name='Table1', con=conn, if_exists='append')

把所有的東西放在一起

為了將所有內容綜合起來,我們提供一個Python腳本,它涵蓋了我們討論的大部分內容。

import sqlite3, pandas as pd, numpy as np #####Creating test data for us -- you can ignore from sklearn import datasets iris = datasets.load_iris() df1 = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target']) df1.to_csv('TestData.csv',index=False) ########################### conn = sqlite3.connect(':memory:') cur = conn.cursor() chunksize = 10 for chunk in pd.read_csv('TestData.csv', chunksizechunksize=chunksize):     chunkchunk.columns = chunk.columns.str.replace(' ', '_') #replacing spaces with underscores for column names     chunk.to_sql(name='Table1', con=conn, if_exists='append') cur.execute('SELECT * FROM Table1') names = list(map(lambda x: x[0], cur.description)) #Returns the column names print(names) for row in cur:     print(row) cur.close()

上述內容就是如何用Python來拯救Excel遇到大數據問題,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武川县| 嘉黎县| 东源县| 西昌市| 台东县| 乡城县| 建宁县| 屯留县| 炉霍县| 临邑县| 海原县| 宁阳县| 平武县| 乌拉特后旗| 毕节市| 利津县| 丰都县| 佛坪县| 博野县| 嵊泗县| 宁德市| 鹤山市| 监利县| 西平县| 临武县| 平远县| 定襄县| 阿荣旗| 洱源县| 丰都县| 横峰县| 故城县| 昌宁县| 遂溪县| 宁波市| 台湾省| 聊城市| 定日县| 沿河| 象山县| 宁明县|