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 相关文章推荐
Django Admin实现上传图片校验功能
Mar 06 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
Python解决走迷宫问题算法示例
Jul 27 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
解决python 上传图片限制格式问题
Oct 30 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
Python读取表格类型文件代码实例
Feb 17 Python
Django框架models使用group by详解
Mar 11 Python
Python常用类型转换实现代码实例
Jul 28 Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 Python
如何用python写个模板引擎
Jan 14 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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查询相似度最高的字符串的方法
2015/03/12 PHP
php微信公众平台开发类实例
2015/04/01 PHP
PHP多进程编程实例详解
2017/07/19 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
如何快速上手Vuex
2017/02/14 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
python构建基础的爬虫教学
2018/12/23 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
如何在python中实现随机选择
2019/11/02 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
python相对企业语言优势在哪
2020/06/12 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
英国袜子店:Sock Shop
2017/01/11 全球购物
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
销售工作人员的自我评价分享
2013/11/10 职场文书
农村葬礼主持词
2014/03/31 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
高中运动会前导词
2015/07/20 职场文书
2015小学师德工作总结
2015/07/21 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书