为了账号安全,请及时绑定邮箱和手机立即绑定

在python中读取文件的前N行

在python中读取文件的前N行

白猪掌柜的 2019-10-15 14:50:28
我们有一个很大的原始数据文件,我们希望将其修剪到指定的大小。我在.net c#方面经验丰富,但是想在python中做到这一点,以简化事情,并且没有兴趣。我将如何在python中获取文本文件的前N行?使用的操作系统会对实施产生影响吗?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

Python 2


with open("datafile") as myfile:

    head = [next(myfile) for x in xrange(N)]

print head

Python 3


with open("datafile") as myfile:

    head = [next(myfile) for x in range(N)]

print(head)

这是另一种方式(Python 2和3)


from itertools import islice

with open("datafile") as myfile:

    head = list(islice(myfile, N))

print head


查看完整回答
反对 回复 2019-10-15
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

N = 10

file = open("file.txt", "a")#the a opens it in append mode

for i in range(N):

    line = file.next().strip()

    print line

file.close()


查看完整回答
反对 回复 2019-10-15
?
LEATH

TA贡献1936条经验 获得超6个赞

如果您想快速阅读第一行而又不关心性能,则可以使用.readlines()返回列表对象然后对列表进行切片的方法。


例如前5行:


with open("pathofmyfileandfileandname") as myfile:

    firstNlines=myfile.readlines()[0:5] #put here the interval you want

注意:整个文件都是读取的,因此从性能的角度来看并不是最好的,但是它易于使用,编写速度快且易于记忆,因此,如果您只想执行一次一次性计算,将非常方便


print firstNlines


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 6269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信