從源文件中讀取數(shù)據(jù)寫入另一個文件中,每個文件滿1萬行,就換一個文件。

1)方法一(讀一行寫一行):

#encoding=utf-8

import? time

startTime =time.time()

with open(r"E:\工作\1010同時做任務(wù)\源數(shù)據(jù).csv",'r') as fp:


? ? for i in range(5):

? ? ? ? count=0

? ? ? ? while count<10000:#每個文件寫入1萬條數(shù)據(jù)就寫入另一個文件

? ? ? ? ? ? data = fp.readline().strip()

? ? ? ? ? ? with open(r"E:\工作\1010同時做任務(wù)\測試數(shù)據(jù)"+str(i+1)+".csv",'a+') as fq:

? ? ? ? ? ? ? fq.write(data+"\n")

? ? ? ? ? ? count+=1


? ? ? ? print("已創(chuàng)建第%s個文件"%str(i+1))

endTime? = time.time()

print("共花費(fèi)%s秒"%str(int(endTime-startTime)))

2)方法二(讀取所有需要的數(shù)據(jù)到列表中,分批寫入):

#encoding=utf-8

import? time

startTime =time.time()

從源文件中讀取數(shù)據(jù)寫入另一個文件中,每個文件滿1萬行,就換一個文件。這里我想到的兩種實(shí)現(xiàn)方式:

1)讀取數(shù)據(jù)存到列表中,將列表中數(shù)據(jù)存到文件中,每寫入1萬條數(shù)據(jù)便換一個文件

2)每讀出一條數(shù)據(jù)便寫入到新的文件中,每個文件滿1萬條數(shù)據(jù)就換一個文件寫。

#encoding=utf-8

with open(r"E:\工作\1010同時做任務(wù)\源數(shù)據(jù).csv",'r') as fp:

? ? data=[]

? ? while 1:

? ? ? ? data.append(fp.readline().strip())

? ? ? ? if len(data)>=50000:

? ? ? ? ? ? break


for i in range(0,5):?

? ? with open(r"E:\工作\1010同時做任務(wù)\測試數(shù)據(jù)"+str(i+6)+".csv",'w') as fp:

? ? ? ? startNum =? i*10000

? ? ? ? for j in data[startNum:startNum+10000:]:

? ? ? ? ? ? #每次讀1萬條

? ? ? ? ? ? fp.write(j+"\n")

? ? print("已創(chuàng)建第%s個文件"%str(i+1))

endTime? = time.time()

print("共花費(fèi)%s秒"%str(endTime-startTime))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容