欢迎光临
我们一直在努力

怎么使用pandas对超大csv文件进行快速拆分

这篇文章主要介绍“怎么使用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

关于“怎么使用pandas对超大csv文件进行快速拆分”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云搜网行业资讯频道,小编每天都会为大家更新不同的知识点。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。