這篇文章主要介紹了Python拆分大型CSV文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
在網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷成為有效果、有回報(bào)的無錫營(yíng)銷推廣。創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設(shè)10多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。#!/usr/bin/env python3 # -*- coding:utf-8 -*- # @FileName :Test.py # @Software PyCharm import os import pandas as pd # filename為文件路徑,file_num為拆分后的文件行數(shù) # 根據(jù)是否有表頭執(zhí)行不同程序,默認(rèn)有表頭的 def Data_split(filename,file_num,header=True): if header: # 設(shè)置每個(gè)文件需要有的行數(shù),初始化為1000W chunksize=10000 data1=pd.read_table(filename,chunksize=chunksize,sep=',',encoding='gbk') # print(data1) # num表示總行數(shù) num=0 for chunk in data1: num+=len(chunk) # print(num) # chunksize表示每個(gè)文件需要分配到的行數(shù) chunksize=round(num/file_num+1) # print(chunksize) # 分離文件名與擴(kuò)展名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}個(gè)數(shù)據(jù)'.format(i)) i+=1 else: # 獲得每個(gè)文件需要的行數(shù) 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}個(gè)數(shù)據(jù)'.format(i)) i+=1 filename='文件路徑' #num為拆分為的文件個(gè)數(shù) Data_split(filename,num,header=True)
網(wǎng)頁題目:Python拆分大型CSV文件代碼實(shí)例-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article34/ieope.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、云服務(wù)器、建站公司、網(wǎng)站制作、網(wǎng)站維護(hù)、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容