Python拆分大型CSV文件代码实例


Posted in Python onOctober 07, 2019

这篇文章主要介绍了Python拆分大型CSV文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# @FileName :Test.py
# @Software PyCharm

import os
import pandas as pd

# filename为文件路径,file_num为拆分后的文件行数
# 根据是否有表头执行不同程序,默认有表头的
def Data_split(filename,file_num,header=True):
  if header:
    # 设置每个文件需要有的行数,初始化为1000W
    chunksize=10000
    data1=pd.read_table(filename,chunksize=chunksize,sep=',',encoding='gbk')
    # print(data1)
    # num表示总行数
    num=0
    for chunk in data1:
      num+=len(chunk)
    # print(num)
    # chunksize表示每个文件需要分配到的行数
    chunksize=round(num/file_num+1)
    # print(chunksize)
    # 分离文件名与扩展名os.path.split(filename)
    head,tail=os.path.split(filename)
    data2=pd.read_table(filename,chunksize=chunksize,sep=',',encoding='gbk')
    i=0
    for chunk in data2:
      chunk.to_csv('{0}_{1}{2}'.format(head,i,tail),header=None,index=False)
      print('保存第{0}个数据'.format(i))
      i+=1
  else:
    # 获得每个文件需要的行数
    chunksize=10000
    data1=pd.read_table(filename,chunksize=chunksize,header=None,sep=',')
    num=0
    for chunk in data1:
      num+=len(chunk)
      chunksize=round(num/file_num+1)

      head,tail=os.path.split(filename)
      data2=pd.read_table(filename,chunksize=chunksize,header=None,sep=',')
      i=0
      for chunk in data2:
        chunk.to_csv('{0}_{1}{2}'.foemat(head,i,tail),header=None,index=False)
        print('保存第{0}个数据'.format(i))
        i+=1

filename='文件路径'
#num为拆分为的文件个数
Data_split(filename,num,header=True)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的函数的一些高阶特性
Apr 27 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
教你用Python创建微信聊天机器人
Mar 31 Python
Python实现时钟显示效果思路详解
Apr 11 Python
对django views中 request, response的常用操作详解
Jul 17 Python
django将数组传递给前台模板的方法
Aug 06 Python
Python datetime包函数简单介绍
Aug 28 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
Oct 12 Python
python3爬虫中异步协程的用法
Jul 10 Python
python 解决Windows平台上路径有空格的问题
Nov 10 Python
python爬虫中PhantomJS加载页面的实例方法
Nov 12 Python
浅谈python中的多态
Jun 15 Python
Python模块汇总(常用第三方库)
Oct 07 #Python
python numpy之np.random的随机数函数使用介绍
Oct 06 #Python
python系列 文件操作的代码
Oct 06 #Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 #Python
Anaconda之conda常用命令介绍(安装、更新、删除)
Oct 06 #Python
Python pip 安装与使用(安装、更新、删除)
Oct 06 #Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 #Python
You might like
php tp验证表单与自动填充函数代码
2012/02/22 PHP
那些年一起学习的PHP(三)
2012/03/22 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
js图片处理示例代码
2014/05/12 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
vue中实现动态生成二维码的方法
2020/02/21 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
详解python单例模式与metaclass
2016/01/15 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python+tkinter实现学生管理系统
2019/08/20 Python
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
管理失职检讨书范文
2015/05/05 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
2016大一新生军训感言
2015/12/08 职场文书
详解PyTorch模型保存与加载
2022/04/28 Python