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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
python+mysql实现简单的web程序
Sep 11 Python
安装dbus-python的简要教程
May 05 Python
Python ldap实现登录实例代码
Sep 30 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
tensorflow实现逻辑回归模型
Sep 08 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 Python
在Python中获取操作系统的进程信息
Aug 27 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 Python
python之语音识别speech模块
Sep 09 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+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
使用python Django做网页
2013/11/04 Python
一个简单的python程序实例(通讯录)
2013/11/29 Python
python发送邮件接收邮件示例分享
2014/01/21 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python三级目录展示的实现方法
2016/09/28 Python
Scrapy的简单使用教程
2017/10/24 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
python实现爬山算法的思路详解
2019/04/09 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
Python异常处理机制结构实例解析
2020/07/23 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
J2EE相关知识面试题
2013/08/26 面试题
商务英语毕业生自荐信范文
2013/11/08 职场文书
求职意向书范文
2014/04/01 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
机械操作工岗位职责
2014/08/08 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
初中毕业感言300字
2015/07/31 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python