首頁 > 軟體

如何使用pandas對超大csv檔案進行快速拆分詳解

2022-07-04 22:02:55

前言

本文介紹如何利用pandas對超大CSV檔案進行快速拆分。

1. 操作步驟

1.1 安裝pandas

pip install pandas

1.2 拆分大檔案

import pandas as pd

# 讀取csv檔案
df = pd.read_csv("../super_big.csv")

# 獲取檔案總行數
row_num = len(df)

# 確定每個小檔案要包含的資料量
step = 400

for start in range(0, row_num, step):
    stop = start + step
    filename = "./small_{}-{}.csv".format(start, stop)
    d = df[start: stop]
    print("Saving file : " + filename + ", data size : " + str(len(d)))
    d.to_csv(fname, index=None)

# 輸出如下
# Saving file : ./small_0-500.csv, data size : 500
# Saving file : ./small_500-1000.csv, data size : 500

程式碼就這麼簡單。

2. 再多瞭解一點兒

2.1 pandas讀取csv檔案後,返回的是什麼型別?

import pandas
df = pandas.read_csv('./super_big.csv')
type(df)

<class 'pandas.core.frame.DataFrame'>

2.2 如何從DataFrame中讀取某一行呢?

# 返回第一行
print(df.loc[0])
# 返回第二行
print(df.loc[1])

2.3 如何從DataFrame讀取多行呢?

 d = df[start: stop]

2.4 如何從DataFrame中讀取某一列呢?

data = {
    "name": ["peter", "rose", "joe"],
    "career": ["teacher", "engineer", "doctor"]
}

df = pd.DataFrame(data)
print(df["name"])

#0    peter
#1     rose
#2      joe
#Name: name, dtype: object

2.5 如何用pandas讀寫CSV檔案?

df = pd.read_csv("YOUT_CSV_FILE.csv")

df.to_csv(fname, index=None)

注意:index預設是True,意思是儲存行索引,這時候需要一個例子。

data = {
    "name": ["peter", "rose", "joe"],
    "career": ["teacher", "engineer", "doctor"]
}

df = pd.DataFrame(data)
df.to_csv("a.csv")

# 檔案內容如下,注意每行的開頭自動新增了行索引,從0開始遞增
,name,career
0,peter,teacher
1,rose,engineer
2,joe,doctor

2.6 關於pandas

pandas是一款快速、強大、靈活且易於使用的開源資料分析和操作工具,建立在Python程式語言之上。用了都說好。

3. 小結

其實pandas處理csv檔案的方法還有很多,功能非常強大,僅僅是資料切分,就有很多方法,有需要的時候,可以去看看檔案。

到此這篇關於如何使用pandas對超大csv檔案進行快速拆分的文章就介紹到這了,更多相關pandas拆分csv檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com