網站首頁 編程語言 正文
前言
本文介紹如何利用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文件的方法還有很多,功能非常強大,僅僅是數據切分,就有很多方法,有需要的時候,可以去看看文檔。
原文鏈接:https://blog.csdn.net/m0_48742971/article/details/123693834
相關推薦
- 2022-10-06 如何利用Redis作為Mybatis的二級緩存_Redis
- 2022-08-03 python中的三種注釋方法_python
- 2022-04-25 利用Redis實現訪問次數限流的方法詳解_Redis
- 2024-01-16 Oracle的取整函數
- 2022-07-06 c#?復寫Equals方法的實現_C#教程
- 2022-08-15 當添加一個鍵值對元素時,HashMap發生了什么?
- 2023-09-12 SpringBoot整合MQTT(MqttClient)
- 2022-08-26 ios使用NSProxy實現消息轉發_IOS
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支