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 转向 Go语言有人给出了 9 大理由
Oct 20 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
TensorFlow的权值更新方法
Jun 14 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
Jul 25 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
用python实现刷点击率的示例代码
Feb 21 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
jupyter notebook 重装教程
Apr 16 Python
Jupyter Notebook 实现正常显示中文和负号
Apr 24 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 21 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
用PHP调用数据库的存贮过程
2006/10/09 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
JS 判断代码全收集
2009/04/28 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
JavaScript canvas实现跟随鼠标事件
2020/02/10 Javascript
自己使用总结Python程序代码片段
2015/06/02 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
python读取LMDB中图像的方法
2018/07/02 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Python如何输出整数
2020/06/07 Python
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
高中生职业规划范文
2014/03/09 职场文书
跑操口号
2014/06/12 职场文书
企业委托书范本
2014/09/13 职场文书
2015年采购工作总结
2015/04/10 职场文书
黄河绝恋观后感
2015/06/08 职场文书
2015年征兵工作总结
2015/07/23 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
python基础入门之字典和集合
2021/06/13 Python
vue elementUI表格控制对应列
2022/04/13 Vue.js