相关文章推荐
打盹的大熊猫  ·  HttpCookie クラス ...·  1 年前    · 
谈吐大方的刺猬  ·  【Django | ...·  1 年前    · 
首页 > 脚本专栏 > python > pandas拆分csv文件

如何使用pandas对超大csv文件进行快速拆分详解

作者:coder1479

Pandas是Python语言的一个扩展程序库,提供高性能、易于使用的数据结构和数据分析工具,下面这篇文章主要给大家介绍了关于如何使用pandas对超大csv文件进行快速拆分的相关资料,需要的朋友可以参考下

本文介绍如何利用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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • Python中np.linalg.norm()用法实例总结
    Python中np.linalg.norm()用法实例总结
    2022-07-07
  • Pytorch实现逻辑回归分类
    Pytorch实现逻辑回归分类
    2022-07-07
  • python paramiko连接ssh实现命令
    python paramiko连接ssh实现命令
    2022-07-07
  • Python线程threading(Thread类)
    Python线程threading(Thread类)
    2022-07-07
  • 如何将一个CSV格式的文件分割成两个CSV文件
    如何将一个CSV格式的文件分割成两个CSV文件
    2022-07-07
  • 关于PyTorch环境配置及安装教程(Windows10)
    关于PyTorch环境配置及安装教程(Windows10)
    2022-07-07
  • Flask实现swagger在线文档与接口测试流程详解
    Flask实现swagger在线文档与接口测试流程详解
    2022-07-07
  • Pytorch实现逻辑回归分类
    Pytorch实现逻辑回归分类
    2022-07-07
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号