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函数可变参数定义及其参数传递方式实例详解
May 25 Python
栈和队列数据结构的基本概念及其相关的Python实现
Aug 24 Python
python中异常报错处理方法汇总
Nov 20 Python
Python生成rsa密钥对操作示例
Apr 26 Python
python字典的遍历3种方法详解
Aug 10 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
搭建pypi私有仓库实现过程详解
Nov 25 Python
python中doctest库实例用法
Dec 31 Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
在python中读取和写入CSV文件详情
Jun 28 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数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
PHP编写RESTful接口
2016/02/23 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
php工具型代码之印章抠图
2018/07/18 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
Python文件操作类操作实例详解
2014/07/11 Python
Python 修改列表中的元素方法
2018/06/26 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
请假条范文大全
2014/04/10 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python