Python拆分大型CSV文件代码实例

 更新时间:2019年10月07日 08:36:02   作者:匹诺曹云  
这篇文章主要介绍了Python拆分大型CSV文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了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如何优雅地解析命令行

    随着我们编程经验的增长,对命令行的熟悉程度日渐加深,想来很多人会渐渐地体会到使用命令行带来的高效率。本文将介绍Python解析命令行的两种方法,需要的可以参考一下
    2022-06-06
  • .dcm格式文件软件读取及python处理详解

    .dcm格式文件软件读取及python处理详解

    今天小编就为大家分享一篇.dcm格式文件软件读取及python处理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python中tkinter的用户登录管理的实现

    Python中tkinter的用户登录管理的实现

    这篇文章主要介绍了Python中tkinter的用户登录管理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python 抓取微信公众号账号信息的方法

    Python 抓取微信公众号账号信息的方法

    搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号。这篇文章主要介绍了Python 抓取微信公众号账号信息,需要的朋友可以参考下
    2019-06-06
  • Django 1.10以上版本 url 配置注意事项详解

    Django 1.10以上版本 url 配置注意事项详解

    这篇文章主要介绍了Django 1.10以上版本 url 配置注意事项详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python练习之操作MySQL数据库

    Python练习之操作MySQL数据库

    这篇文章主要介绍了Python练习之操作MySQL数据库,文章通过如何创建MySQL数据表?如何向MySQL表中插入数据?如何查询MySQL中的数据?的三个问题展开了详细的内容介绍
    2022-06-06
  • Python 模拟死锁的常见实例详解

    Python 模拟死锁的常见实例详解

    这篇文章主要为大家介绍了Python 模拟死锁的常见实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 用Python逐行分析文件方法

    用Python逐行分析文件方法

    在本篇文章里我们给大家分享了关于用Python逐行分析文件方法知识点,有需要的朋友们跟着学习下。
    2019-01-01
  • 解决pytorch 数据类型报错的问题

    解决pytorch 数据类型报错的问题

    这篇文章主要介绍了解决pytorch 数据类型报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python中跨越多个文件使用全局变量的方法

    Python中跨越多个文件使用全局变量的方法

    全局变量是不属于函数范围的变量,可以在整个程序中使用,这表明全局变量也可以在函数体内部或外部使用,这篇文章主要介绍了Python中跨越多个文件使用全局变量,需要的朋友可以参考下
    2023-09-09

最新评论