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最基本的输入输出详解
Apr 25 Python
Python中标准库OS的常用方法总结大全
Jul 19 Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
python调用OpenCV实现人脸识别功能
May 25 Python
Python实现Event回调机制的方法
Feb 13 Python
python使用百度文字识别功能方法详解
Jul 23 Python
使用Python的turtle模块画国旗
Sep 24 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
详解pycharm配置python解释器的问题
Oct 15 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/04 星际争霸
操作Oracle的php类
2006/10/09 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
javascript实现tab响应式切换特效
2016/01/29 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
vue实现a标签点击高亮方法
2018/03/17 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
python实现的文件同步服务器实例
2015/06/02 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
python的继承知识点总结
2018/12/10 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
python 深度学习中的4种激活函数
2020/09/18 Python
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
给分销商的致歉信
2014/01/14 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
会计专业求职信范文
2014/03/16 职场文书
社区文艺活动方案
2014/08/19 职场文书
先进单位事迹材料
2014/12/25 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang