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自动化工具日志查询分析脚本代码实现
Nov 26 Python
详解Python中的变量及其命名和打印
Mar 11 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
使用pandas批量处理矢量化字符串的实例讲解
Jul 10 Python
Python lambda表达式用法实例分析
Dec 25 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
简单了解python变量的作用域
Jul 30 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
Python TCPServer 多线程多客户端通信的实现
Dec 31 Python
Python requests设置代理的方法步骤
Feb 23 Python
python中类与对象之间的关系详解
Dec 16 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 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生成html分页列表的代码
2007/03/18 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
document.all与WEB标准
2020/05/13 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
python3使用urllib模块制作网络爬虫
2016/04/08 Python
python中解析json格式文件的方法示例
2017/05/03 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python reversed函数及使用方法解析
2020/03/17 Python
python三引号如何输入
2020/07/06 Python
python 模拟登录B站的示例代码
2020/12/15 Python
Shein英国:女性时尚网上商店
2019/04/10 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
学校节能减排倡议书
2014/05/16 职场文书
先进员工事迹材料
2014/12/20 职场文书
学校实习推荐信
2015/03/27 职场文书
阿凡达观后感
2015/06/10 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
Oracle表空间与权限的深入讲解
2021/11/17 Oracle
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL