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))