脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 如何使用pandas对超大csv文件进行快速拆分详解

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

2022-07-04 22:37coder1479 Python

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

前言

本文介绍如何利用pandas对超大CSV文件进行快速拆分。

1. 操作步骤

1.1 安装pandas

?
1
pip install pandas

1.2 拆分大文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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文件后,返回的是什么类型?

?
1
2
3
4
5
import pandas
df = pandas.read_csv('./super_big.csv')
type(df)
 
<class 'pandas.core.frame.DataFrame'>

2.2 如何从DataFrame中读取某一行呢?

?
1
2
3
4
# 返回第一行
print(df.loc[0])
# 返回第二行
print(df.loc[1])

2.3 如何从DataFrame读取多行呢?

?
1
d = df[start: stop]

2.4 如何从DataFrame中读取某一列呢?

?
1
2
3
4
5
6
7
8
9
10
11
12
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文件?

?
1
2
3
df = pd.read_csv("YOUT_CSV_FILE.csv")
 
df.to_csv(fname, index=None)

注意:index默认是True,意思是保存行索引,这时候需要一个例子。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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文件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_48742971/article/details/123693834

延伸 · 阅读

精彩推荐
  • Python教你用Python3+mysql8.0搭建Django框架

    教你用Python3+mysql8.0搭建Django框架

    发现有很多小伙伴还不知道如何搭建Django框架,今天特地整理了本篇文章,基于Python3和mysql8.0,文中有非常详细的步骤教程,对小伙伴很有帮助,需要的朋友可以...

    Eternally☞北巷故人12322021-11-17
  • Pythonpython和shell监控linux服务器的详细代码

    python和shell监控linux服务器的详细代码

    这篇文章主要为大家介绍了使用python和shell监控linux服务器的详细代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Allen-X12152021-03-08
  • PythonPython爬虫设置代理IP(图文)

    Python爬虫设置代理IP(图文)

    在本篇内容里小编给大家分享了关于Python爬虫设置代理IP的相关知识点和步骤,需要的朋友们参考下。...

    我家有只小魔怪7532021-05-06
  • Python利用Python yagmail三行代码实现发送邮件

    利用Python yagmail三行代码实现发送邮件

    这篇文章主要给大家介绍了关于利用Python yagmail三行代码实现发送邮件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的...

    M_ha5212021-02-20
  • PythonPython网络编程 Python套接字编程

    Python网络编程 Python套接字编程

    这篇文章主要为大家详细介绍了Python网络编程的相关资料,Python套接字编程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Lockeyi5022020-12-08
  • Python简述Python中的面向对象编程的概念

    简述Python中的面向对象编程的概念

    这篇文章主要介绍了简述Python中的面向对象编程的概念,面向对象编程是Python的重要特性,需要的朋友可以参考下 ...

    廖雪峰5102020-06-14
  • Python七种Python代码审查工具推荐

    七种Python代码审查工具推荐

    这篇文章主要介绍了七种Python代码审查工具推荐,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下...

    51CTO11732021-09-18
  • Pythonpytorch:实现简单的GAN示例(MNIST数据集)

    pytorch:实现简单的GAN示例(MNIST数据集)

    今天小编就为大家分享一篇pytorch:实现简单的GAN示例(MNIST数据集),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    xckkcxxck9272020-04-29