读取文本文件的特定列和行中的数据

时间:2016-10-19 16:45:29

标签: python text row line

我有一个包含3列和20000行的文本文件。 我想知道如何获取第1000行和第2列中的特定数据(例如)? 我的第一列格式化为AAAA,我的第二列是1234之类的数字。 我尝试了这个解决方案,但根据我的第一列是字母我得到了一个错误 我想在最后定义一个包含我的数据的变量:

with open ('my_file') as f:
    for x , line in eumerate(f):
         if x = 1000:
             numfloat = map(float , line.split())
             print numfloat[1]

3 个答案:

答案 0 :(得分:2)

您正试图在包含字母的内容上使用float()。当你打电话时会发生这种情况:

numfloat = map(float , line.split()) 

您需要告诉我们您正在寻找的确切输出,但这是一种可能的解决方案

num_float = map(float, line.split()[1])

or better yet

num_float = float(line.split()[1])

这只会让你获得中间栏目,我不确定你是否需要整行。

此外,如下所述,您需要在if语句中将=更改为===用于分配,==用于比较。

答案 1 :(得分:0)

make' ='到' =='在代码的第3行

with open('my_file', 'r') as f:
    for x, line in enumerate(f):
        if x == 1000:
            print float(line.split()[1])

答案 2 :(得分:0)

import re

with open('my_file', 'r') as f:
    for x, line in enumerate(f):
        if x == 1000: 
            array = re.split('(\d+)',line) # array=['AAAA','123'] if line='AAAA123'
            print array[1] # your required second row.