在python中,如何从txt文件中提取第一个和最后一个值?

在python中,如何从txt文件中提取第一个和最后一个值?,python,txt,Python,Txt,我有一个txt文件,如下所示: 2,5,25,6 3,5,78,6, 5,23,24,85 6,4,79,9 69,23,12,51 我应该只提取两个值,第一行2中的第一个值和最后一行中的第一个值。 我编写的程序如下: with open("C:\values.txt", "r") as fp: lines = fp.readlines() for i in range(0, len(lines)): print(lines[i]) 但

我有一个txt文件,如下所示:

2,5,25,6
3,5,78,6,
5,23,24,85
6,4,79,9
69,23,12,51
我应该只提取两个值,第一行2中的第一个值和最后一行中的第一个值。 我编写的程序如下:

with open("C:\values.txt", "r") as fp:
    lines = fp.readlines()
for i in range(0, len(lines)):
    print(lines[i])

但是我只能打印txt文件中的所有行。

使用索引和
.read()


通过iostream打开文件后,可以使用
readlines()
将整个数据传输到列表中。您可以通过列表的索引获得所需的值

with open("value.txt", "r") as fp:
    lines = fp.readlines()
    first = lines[0].split(',')[0]
    end = lines[-1].split(',')[0]

    print(first, end)

像下面这样的

with open("values.txt", "r") as fp:
    lines = [l.strip() for l in fp.readlines()]
    first_and_last = [lines[0], lines[-1]]
    for l in first_and_last:
        print(l.split(',')[0])
输出

2
69

请注意,基本上没有一个很好的理由使用
读取行
,这是一个遗留问题。文件对象是迭代器,您的代码可以是fp:print(line)中的
for行,并且在能够访问for循环中的每一行之后;那么下一步是什么?您可以开始查看lines[i]类型,并注意到它是一个字符串,而不是一个数字列表。那么如何将这个字符串转换成一个数字列表呢?最后,访问第一行上的第一个数字和最后一行上的最后一个数字。作为输出,我需要:269未提及,但如果文件大小超过可用内存,两个答案都不起作用,只是想指出,如果是这样的话,这可能会有所帮助
2
69