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模块restful使用方法实例
Dec 10 Python
深入理解Django的自定义过滤器
Oct 17 Python
numpy中矩阵合并的实例
Jun 15 Python
如何用C代码给Python写扩展库(Cython)
May 17 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
python requests证书问题解决
Sep 05 Python
Python之Numpy的超实用基础详细教程
Oct 23 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python生成随机验证码代码实例解析
Jun 09 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 Python
python flask框架快速入门
May 14 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
python中列表和元组的区别
2017/12/18 Python
python实现数据库跨服务器迁移
2018/04/12 Python
python和c语言的主要区别总结
2019/07/07 Python
python分布式计算dispy的使用详解
2019/12/22 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
阿迪达斯比利时官方商城:adidas比利时
2016/10/10 全球购物
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
生产班组长岗位职责
2014/01/05 职场文书
大学活动邀请函
2014/01/28 职场文书
超市重阳节活动方案
2014/02/10 职场文书
给老师的感谢信
2015/01/20 职场文书
团员年度个人总结
2015/02/26 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript