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開發一個簡單的猜數字游戲的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • Python中的并發編程實例

    Python中的并發編程實例

    這篇文章主要介紹了Python中的并發編程實例,主要是對Threading模塊的應用,文中自定義了一個Threading類庫,需要的朋友可以參考下
    2014-07-07
  • Python驗證碼識別的方法

    Python驗證碼識別的方法

    這篇文章主要介紹了Python驗證碼識別的方法,涉及Python針對驗證碼圖片的相關分析與操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • PYTHON壓平嵌套列表的簡單實現

    PYTHON壓平嵌套列表的簡單實現

    下面小編就為大家帶來一篇PYTHON壓平嵌套列表的簡單實現。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 詳解Python sys.argv使用方法

    詳解Python sys.argv使用方法

    在本文中我們給大家詳細講解了關于Python sys.argv使用方法以及注意事項,有此需要的讀者們跟著學習下。
    2019-05-05
  • 快速排序的算法思想及Python版快速排序的實現示例

    快速排序的算法思想及Python版快速排序的實現示例

    快速排序算法來源于分治法的思想策略,這里我們將來為大家簡單解析一下快速排序的算法思想及Python版快速排序的實現示例:
    2016-07-07
  • Python pass詳細介紹及實例代碼

    Python pass詳細介紹及實例代碼

    這篇文章主要介紹了Python pass詳細介紹及實例代碼的相關資料,需要的朋友可以參考下
    2016-11-11
  • python 提取文件指定列的方法示例

    python 提取文件指定列的方法示例

    這篇文章主要介紹了python 提取文件指定列的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 使用python實現ftp的文件讀寫方法

    使用python實現ftp的文件讀寫方法

    今天小編就為大家分享一篇使用python實現ftp的文件讀寫方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Linux CentOS7下安裝python3 的方法

    Linux CentOS7下安裝python3 的方法

    在CentOS7下,默認安裝的就是python2.7,下面通過本文給大家分享Linux CentOS7下安裝python3 的方法,需要的朋友參考下吧
    2018-01-01

最新評論

北京pk赛车人工计划软件手机版