[英]extracting a set amount of lines from a Text file - Python
让我们想象一下,我有一个文本文件,其中包含以下内容:(每行以数字开头,并在其旁边包含我需要的信息)
1 325315
2 234265
3 345345
4 234234
5 373432
6 436721
7 325262
8 235268
例如,如何提取数字3之后和6之前的行? 同时将其他数据保持在同一行上。
我有一个非常大的文本文件〜1000行,我需要提取从300到800的行。提取或删除不需要的行,无论哪种方式都可以。
谢谢你的帮助
像这样吗
def extract(file, fr, to):
f = open(file, "r+")
[next(f) for i in range(fr)]
return [f.readline() for i in range(to - fr)]
或仅提取第二列
return [f.readline().split()[1] for i in range(500)]
输出:
extract("file",3,5)
['4 234234\n', '5 373432\n']
这样吧
l = [line for line in (open('xyz.txt','r')).readlines() if int(line.split()[0]) > 3 and int(line.split()[0]) < 6 ]
输出:(输出为3到6之间的行)
C:\Users\dinesh_pundkar\Desktop>python c.py
['4 234234\n', '5 373432\n']
C:\Users\dinesh_pundkar\Desktop>
假设索引不是顺序的
outList=[]
with open('somefile') as f:
for line in f:
a=line.split()
if 3<int(a[0])<6:
outlist.append(a[1]) # or append(line), append(a) depending on needs
或者只是使用numpy.loadtxt
并使用数组方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.