我有几个hudred千行文本文件.我必须在随机点中提取30,000个特定行,这些行都在文本文件中.这是我必须一次提取一行的程序:
big_file = open('C:\\gbigfile.txt', 'r')
small_file3 = open('C:\\small_file3.txt', 'w')
for line in big_file:
if 'S0414' in line:
small_file3.write(line)
gbigfile.close()
small_file3.close()
Run Code Online (Sandbox Code Playgroud)
如何加速我需要查看的30,000行>?
啊哈!所以你真正的问题是如何测试每行的许多条件,如果其中一个满足,则输出该行.我认为最容易使用正则表达式:
import re
keywords = ['S0414', 'GT213', 'AT3423', 'PR342'] # etc - you probably get those from some source
pattern = re.compile('|'.join(keywords))
for line in inf:
if pattern.search(ln):
outf.write(line)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10734 次 |
| 最近记录: |