0
我試圖將一個非常大的文本文件分割成多個較小的文件。當我運行下面的代碼時,第一個創建的文件是正確的。之後的所有內容都只包含'INSERT INTO ...'字符串,沒有別的。在此先感謝動態地將文件分割成多個較小的文件
import math
interval = 100000
with open('my-big-file','r') as c:
for i, l in enumerate(c):
pass
length = i + 1
numOfFiles = int(math.ceil(length/interval))
with open('my-big-file','r') as c:
for j in range(0, numOfFiles):
with open('my-smaller-file_{}.sql'.format(j),'w') as n:
print >> n, 'INSERT INTO codes (code, some-field, some-other-field) VALUES'
for i, line in enumerate(c):
if i >= j * interval and i < (j + 1) * interval:
line = line.rstrip()
if not line: continue
print >> n, '(%s,'something','something else'),' % (line)
else:
break
這是完美的工作。正是我想要做的!謝謝 – knnnrd