资讯专栏INFORMATION COLUMN

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

89542767 / 911人阅读

  小编写这篇文章的主要目的,主要是对pandas做一个较为详细的一个解答,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文件的方法还有很多,功能非常强大,仅仅是数据切分,就有很多方法,有需要的时候,可以去看看文档。


  综上所述,这篇文章就给大家介绍到这里了,希望可以给各位读者带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128349.html

相关文章

  • 磨刀霍霍:爬爬爬爬爬爬虫爬起来~

    摘要:目标很简单,因为我想要爬一下证券化率,然后可视化输出结果。证券化率的基础就是上市公司的总市值,对于证券化率其实还蛮多说法的,比如雪球的这篇文。我们可以利用这个回调函数来显示当前的下载进度。 写在前面的叨叨 折腾了这么久,我终于在喝完一听快乐肥宅水后下定决心来学习写爬虫了。目标很简单,因为我想要爬一下证券化率,然后可视化输出结果。证券化率的基础就是上市公司的总市值,对于证券化率其实还蛮多...

    Allen 评论0 收藏0
  • 在Python中实现机器学习功能的4种方法

    摘要:在中实现机器学习功能的种方法来源愿码内容编辑愿码连接每个程序员的故事网站愿码愿景打造全学科系统免费课程,助力小白用户初级工程师成本免费系统学习低成本进阶,帮助一线资深工程师成长并利用自身优势创造睡后收入。 在Python中实现机器学习功能的4种方法 showImg(https://segmentfault.com/img/remote/1460000018849605); 来源 | ...

    XFLY 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<