首先,我是一个很弱的程序员,对 python 和这个站点不熟悉。对不起我的错误。所以在这里,我的数据文件如下所示:
粘贴 bin 文件共有 6221 行。为了测试,我将行号限制为最大 1000。
我正在尝试读取数字行中的浮点值,主要列是 1 和 2。
到目前为止,我已经编写了这段代码来从文件中提取我想要的行:
f = open('Sample Data.txt',"r")
num=0
line = f.readlines()
for n in range (107, 1000, 1): #6621
if (n>108):
print line[n]
效果很好,将每行中的数字打印为字符串。(每个数字都有 4 个空格与下一个数字分开,除了每列中的第一个数字有 2 个空格。)
我现在希望将字符串转换为数组或列表,以便我可以使用各个数字并最终绘制一个带有 y 轴上第 2 列的图形。我编写了以下内容来拆分字符串并将其转换为浮点数:
for i in range(108,1000,1):
line[i].split(' ')
float(line[i]) = X[i]
print(X[i])
当我运行它时,它会返回以下错误:
Traceback (most recent call last):
File "<pyshell#25>", line 2, in <module>
print(X[i])
NameError: name 'X' is not defined
我已经把它分解了, line[i].split(' ') 似乎有点工作,因为当我测试打印该行时,它给出了 3 个单独的字符串,如下所示:
[' 5070.74537037 -0.003382', '0.009507\n']
我不知道为什么会出现这个错误。我认为 X[i] 是我应该用浮点数创建的新数组,但由于某种原因它似乎不想工作。我在某处读到,在使用大型数据集时,最好使用多维数组......如果我什至无法理解一维,我就没有机会使用其他的!
有什么方法可以创建一个数组或两个一维数组,这将允许我独立操作潜在图的 x 或 y 列?
感谢您的时间!