簡體   English   中英

按行將文件拆分為較小的文件

[英]Splitting file into smaller files by lines

我試圖找到一種方法將包含數據列的大型txt文件拆分為較小的文件以進行上載。 大文件有4000行,我想知道是否有辦法將其划分為四個部分,如

file 1 (lines 1-1000)

file 2 (lines 1001-2000)

file 3 (lines 2001-3000)

file 4 (lines 3001-4000)

我很感激幫助。

這是有效的(你可以實現一個for而不是while循環,但它沒什么區別,並且不假設需要多少個文件):

with open('longFile.txt', 'r') as f:
    lines = f.readlines()

threshold=1000
fileID=0
while fileID<len(lines)/float(threshold):
    with open('fileNo'+str(fileID)+'.txt','w') as currentFile:
        for currentLine in lines[threshold*fileID:threshold*(fileID+1)]:
            currentFile.write(currentLine)
        fileID+=1

希望這可以幫助。 嘗試在python文檔中建議使用with塊的open

嘗試一下:

fhand = open(filename, 'r')
all_lines = fhand.readlines()

for x in xrange(4):
    new_file = open(new_file_names[x], 'w')
    new_file.write(all_lines[x * 1000, (x + 1) * 1000])

我喜歡Aleksander Lidtke的,但有一個for循環和一個pop()扭曲的樂趣。 我也喜歡在我這樣做的時候維護一些原始命名的文件,因為它通常是多個文件。 所以我在其中添加了名稱“split”。

with open('Data.txt','r') as f:
    lines = f.readlines()

limit=1000
for o in range(len(lines)):
    if lines!=[]: 
        with open(f.name.split(".")[0] +"_" + str(o) + '.txt','w') as NewFile:
                for i in range(limit):
                    if lines!=[]:NewFile.write(lines.pop(0))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM