将大文本文件剪切成小文件

2024-09-29 01:37:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含1000000行的文本文件。我想把它分成文件,每个文件包含15000行。E、 第一个文件包含1到15000行,下一个文件包含15001到30000行,依此类推。这就是我所做的:

lines = open('myfile.txt').readlines()
open('1_15000.txt', 'w').writelines(lines[0:15000])
open('15001_30000.txt', 'w').writelines(lines[15000:30000])
open('30000_45000.txt', 'w').writelines(lines[30000:45000])
open('45000_60000.txt', 'w').writelines(lines[45000:60000])
...
...
... so on till 1000000

但是这个代码看起来太长了。有没有什么方法可以让我不必为每个文件编写单独的代码呢?在


Tags: 文件方法代码txtwritelinessoonopen
3条回答

请注意,您也可以使用linux split实用程序来实现这一点。不用再发明轮子了!在

lines = open('myfile.txt').readlines()
for i in range(0, 1000000, 15000):
   open('{0}_{1}.txt'.format(i+1, i+15000), 'w').writelines(lines[i:i+15000])

希望这有帮助。在

你可以尝试一下:

lines = open('myfile.txt').readlines()
count = 0
incr = 15000
while count<len(lines):
    open(str(count)+'_'+str(count+incr)+'.txt', 'w').writelines(lines[count:incr])
    count += incr

相关问题 更多 >