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的Django框架下搭建的BLOG添加RSS功能的教程
Apr 08 Python
Python面向对象基础入门之编码细节与注意事项
Dec 11 Python
用Python读取几十万行文本数据
Dec 24 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
解决python 读取excel时 日期变成数字并加.0的问题
Oct 08 Python
Python求解正态分布置信区间教程
Nov 20 Python
python中Lambda表达式详解
Nov 20 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
Python3获取cookie常用三种方案
Oct 05 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 Python
Python中的pprint模块
Nov 27 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/08/19 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python制作mysql数据迁移脚本
2019/01/01 Python
pymongo中group by的操作方法教程
2019/03/22 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
安装python及pycharm的教程图解
2019/10/10 Python
电钳工人个人求职信
2014/05/10 职场文书
初中班级口号
2014/06/09 职场文书
2014年档案室工作总结
2014/12/01 职场文书
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python
mybatis 获取更新记录的id
2022/05/20 Java/Android