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 13 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 Python
PYTHON基础-时间日期处理小结
May 05 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
Python判断有效的数独算法示例
Feb 23 Python
python IP地址转整数
Nov 20 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
Feb 22 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 Python
Python中的turtle画箭头,矩形,五角星
Mar 16 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安装threads多线程扩展基础教程
2015/11/17 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
Python实现投影法分割图像示例(一)
2020/01/17 Python
如何写python的配置文件
2020/06/07 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
德国家具在线:Fashion For Home
2017/03/11 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
精伦电子Java笔试题
2013/01/16 面试题
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
工业自动化专业毕业生推荐信
2013/11/18 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
公开服务承诺制度
2014/03/26 职场文书
英文求职信范文
2014/05/23 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
学生会干部任命书
2015/09/21 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang