1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

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

利用pandas对超大CSV文件进行快速拆分

我是本际云服务器推荐网的小编小本本,今天我要为大家介绍如何利用pandas对超大CSV文件进行快速拆分。

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

操作步骤

首先,我们需要安装pandas,可以使用以下命令:

pip install pandas

然后,我们就可以拆分大文件了,代码如下:

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)

这段代码非常简单,首先我们读取了超大的csv文件,然后根据设定的每个小文件需要包含的数据量,将大文件划分成多个小文件进行处理。最后将每个小文件保存到磁盘上。

再多了解一点儿

除了以上介绍的操作步骤,我们还可以用pandas进行更多的数据处理。

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("YOUR_CSV_FILE.csv")
df.to_csv(fname, index=None)

需要注意的是,index默认是True,意思是保存行索引。

2.6 关于pandas

pandas是一款快速、强大、灵活且易于使用的开源数据分析和操作工具,建立在Python编程语言之上。

小结

其实pandas处理csv文件的方法还有很多,功能非常强大,仅仅是数据切分,就有很多方法,有需要的时候,可以去看看文档。

综上所述,本文介绍了如何利用pandas对超大CSV文件进行快速拆分,希望可以给各位读者带来帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7185.html