我有一个包含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]
答案 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.