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实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
Python使用字典的嵌套功能详解
Feb 27 Python
详解用python生成随机数的几种方法
Aug 04 Python
python datetime中strptime用法详解
Aug 29 Python
Python制作词云图代码实例
Sep 09 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
keras导入weights方式
Jun 12 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
如何使用python socket模块实现简单的文件下载
Sep 04 Python
python 深度学习中的4种激活函数
Sep 18 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
Javascript & DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
Python之os操作方法(详解)
2017/06/15 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
《曹刿论战》教学反思
2014/03/02 职场文书
文化与传播毕业生求职信
2014/03/09 职场文书
访谈节目策划方案
2014/05/15 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
2014年团支部工作总结
2014/11/17 职场文书
三好学生评语大全
2014/12/29 职场文书
先进典型发言材料
2014/12/30 职场文书
党支部审查意见
2015/06/02 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
竞选稿之小学班干部
2019/10/31 职场文书