網(wǎng)站首頁 編程語言 正文
前言
本文介紹如何利用pandas對超大CSV文件進行快速拆分。
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)
# 確定每個小文件要包含的數(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
代碼就這么簡單。
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")
# 文件內(nèi)容如下,注意每行的開頭自動添加了行索引,從0開始遞增
,name,career
0,peter,teacher
1,rose,engineer
2,joe,doctor
2.6 關(guān)于pandas
pandas是一款快速、強大、靈活且易于使用的開源數(shù)據(jù)分析和操作工具,建立在Python編程語言之上。用了都說好。
3. 小結(jié)
其實pandas處理csv文件的方法還有很多,功能非常強大,僅僅是數(shù)據(jù)切分,就有很多方法,有需要的時候,可以去看看文檔。
原文鏈接:https://blog.csdn.net/m0_48742971/article/details/123693834
相關(guān)推薦
- 2022-06-10 C#關(guān)鍵字Check簡單介紹_C#教程
- 2022-12-26 Python中pywifi模塊的基本用法講解_python
- 2022-12-09 python中為main方法傳參問題_python
- 2022-10-27 React狀態(tài)管理Redux原理與介紹_React
- 2022-04-14 Python?eval()函數(shù)和ast.literal_eval()的區(qū)別你知道嗎_python
- 2022-04-04 iview在Table表格中渲染title文字提示,使用render實現(xiàn)
- 2022-07-29 Docker容器的加載分層原理及commit鏡像_docker
- 2023-03-20 C#中程序自刪除實現(xiàn)方法_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支