如何使用pandas對(duì)超大csv文件進(jìn)行快速拆分詳解
前言
本文介紹如何利用pandas對(duì)超大CSV文件進(jìn)行快速拆分。
1. 操作步驟
1.1 安裝pandas
pip install pandas
1.2 拆分大文件
import pandas as pd
# 讀取csv文件
df = pd.read_csv("../super_big.csv")
# 獲取文件總行數(shù)
row_num = len(df)
# 確定每個(gè)小文件要包含的數(shù)據(jù)量
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
代碼就這么簡(jiǎn)單。
2. 再多了解一點(diǎn)兒
2.1 pandas讀取csv文件后,返回的是什么類(lèi)型?
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: object2.5 如何用pandas讀寫(xiě)CSV文件?
df = pd.read_csv("YOUT_CSV_FILE.csv")
df.to_csv(fname, index=None)
注意:index默認(rèn)是True,意思是保存行索引,這時(shí)候需要一個(gè)例子。
data = {
"name": ["peter", "rose", "joe"],
"career": ["teacher", "engineer", "doctor"]
}
df = pd.DataFrame(data)
df.to_csv("a.csv")
# 文件內(nèi)容如下,注意每行的開(kāi)頭自動(dòng)添加了行索引,從0開(kāi)始遞增
,name,career
0,peter,teacher
1,rose,engineer
2,joe,doctor
2.6 關(guān)于pandas
pandas是一款快速、強(qiáng)大、靈活且易于使用的開(kāi)源數(shù)據(jù)分析和操作工具,建立在Python編程語(yǔ)言之上。用了都說(shuō)好。
3. 小結(jié)
其實(shí)pandas處理csv文件的方法還有很多,功能非常強(qiáng)大,僅僅是數(shù)據(jù)切分,就有很多方法,有需要的時(shí)候,可以去看看文檔。
到此這篇關(guān)于如何使用pandas對(duì)超大csv文件進(jìn)行快速拆分的文章就介紹到這了,更多相關(guān)pandas拆分csv文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實(shí)現(xiàn)長(zhǎng)數(shù)據(jù)完整打印方案
這篇文章主要介紹了python 實(shí)現(xiàn)長(zhǎng)數(shù)據(jù)完整打印方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python 中多態(tài)性的示例和類(lèi)的繼承多態(tài)性詳解
多態(tài)性通常在類(lèi)的方法中使用,其中我們可以具有相同方法名稱(chēng)的多個(gè)類(lèi),本文給大家介紹Python 中多態(tài)性的示例和類(lèi)的繼承多態(tài)性詳解,需要的朋友可以參考下2023-10-10
Python BentoML構(gòu)建部署和管理機(jī)器學(xué)習(xí)模型技巧掌握
BentoML是一個(gè)開(kāi)源的Python框架,旨在簡(jiǎn)化機(jī)器學(xué)習(xí)模型的打包、部署和管理,本文將深入介紹BentoML的功能和用法,提供詳細(xì)的示例代碼和解釋,幫助你更好地理解和應(yīng)用這個(gè)強(qiáng)大的工具2024-01-01
Python字符串本身作為bytes進(jìn)行解碼的問(wèn)題
這篇文章主要介紹了解決Python字符串本身作為bytes進(jìn)行解碼的問(wèn)題,文末給大家補(bǔ)充介紹了,Python字符串如何轉(zhuǎn)為bytes對(duì)象?Python字符串和bytes類(lèi)型怎么互轉(zhuǎn),需要的朋友可以參考下2022-11-11

