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操作xlsx文件的包openpyxl实例
May 03 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
基于python if 判断选择结构的实例详解
May 06 Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
python函数map()和partial()的知识点总结
May 26 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
用Python实现Newton插值法
Apr 17 Python
Python字典和列表性能之间的比较
Jun 07 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扩展编写点滴 技巧收集
2010/03/09 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
php常用的url处理函数总结
2014/11/19 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
Python切片用法实例教程
2014/09/08 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
介绍一下Make? 为什么使用make
2013/12/08 面试题
即将毕业大学生自荐信
2014/01/24 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
单位综合评价意见
2015/06/05 职场文书
办公室规章制度范本
2015/08/04 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
如何书写授权委托书?
2019/06/25 职场文书
vue项目支付功能代码详解
2022/02/18 Vue.js
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技