1 1 # -*- coding: utf-8 -*-
2 2 """
3 3 Created on Sun Oct 28 01:05:03 2018
4 4
5 5 @author:
6 6 """
7 7
8 8 import os
9 9 import time
10 10
11 11 def mkSubFile(lines,head,srcName,sub):
12 12 [des_filename, extname] = os.path.splitext(srcName)
13 13 filename = des_filename + '_' + str(sub) + extname
14 14 print( 'make file: %s' %filename)
15 15 fout = open(filename,'w')
16 16 try:
17 17 fout.writelines([head])
18 18 fout.writelines(lines)
19 19 return sub + 1
20 20 finally:
21 21 fout.close()
22 22
23 23 def splitByLineCount(filename,count):
24 24 fin = open(filename,'r')
25 25 try:
26 26 head = fin.readline()
27 27 buf = []
28 28 sub = 1
29 29 for line in fin:
30 30 buf.append(line)
31 31 if len(buf) == count:
32 32 sub = mkSubFile(buf,head,filename,sub)
33 33 buf = []
34 34 if len(buf) != 0:
35 35 sub = mkSubFile(buf,head,filename,sub)
36 36 finally:
37 37 fin.close()
38 38
39 39 if __name__ == '__main__':
40 40 begin = time.time()
41 41 splitByLineCount('Taxi_Trips.csv',10000000)
42 42 end = time.time()
43 43 print('time is %d seconds ' % (end - begin))
44