Python从第二行到第十五行读取文本文件[关闭]

Posted

技术标签:

【中文标题】Python从第二行到第十五行读取文本文件[关闭]【英文标题】:Python read text file from second line to fifteenth [closed] 【发布时间】:2013-08-27 15:27:36 【问题描述】:

我有一个文本文件,我需要从第二行读取到第 15 行,包括。 我尝试了一些方法,但没有一种方法对我有用... 如果有人可以帮助我,我会很高兴... 非常感谢!

【问题讨论】:

【参考方案1】:

使用itertools.islice:

from itertools import islice
with open('filename') as fin:
    for line in islice(fin, 1, 16):
        print line

【讨论】:

+1 最佳方式。 @AshwiniChaudhary 为什么这是最好的方法?因为islice 使用了生成器表达式? @thefourtheye islice 是一种从迭代器获取切片的快速且 Python 式的方法,它确实会在迭代器上循环,但在内部以 C 速度发生。 +1 这看起来很优雅。我之前不知道isliceitertools真是宝箱!【参考方案2】:

如果文件不是很大:

with open('/path/to/file') as f:
    print f.readlines()[1:15]

【讨论】:

如果文件很大,这会将所有内容加载到内存中。【参考方案3】:

Jon's answer 绝对是一种更 Pythonic 和更简洁的方法。


或者,您可以使用enumerate()

with open("file", 'r') as f:
    print [x for i, x in enumerate(f) if 1 <= i <= 15]

注意,这将遍历文件中的所有行。最好在第 15 行之后打破循环,像这样:

with open("file", 'r') as f:
    for i, x in enumerate(f):
        if 1 <= i <= 15:
            print x
        elif i > 15:
            break

【讨论】:

【参考方案4】:

我认为您可以阅读这些行并获取您需要的行

例如:

with open("a.txt", "r") as text_file:
    data = text_file.readlines()

现在data[1] 将位于第二行,data[14] 将位于第 15 行,因此您可以将其分割为 data[1:14]

然后你可以把它们放入一个变量中就可以了

【讨论】:

with 块中打开文件。

以上是关于Python从第二行到第十五行读取文本文件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

python读取大文件倒数第二行

1470.调整方阵

python脚本 从第二行开始读取 文件读取 跳过第一行 跳过前几行

C++上机练习:调整方阵

求最大累加矩阵大小

pandas筛选dataframe数据:获取dataframe的第二行到第N行的数据