我试图用loadtxt读入一个Ascii文件。文件看起来像这样
UT, L, R, LocT, MLT, MLAT
240000 1.03033 1.06433 2.73627 2.93244 8.51725
300000 1.01964 1.05914 3.07449 3.24764 6.54548
360000 1.01194 1.05747 3.41200 3.56224 4.51283
420000 1.00746 1.05935 3.74672 3.87489 2.44624
480000 1.00702 1.06476 4.07669 4.18431 0.373423
但是,任何行中至少可以有9个字符。在
我一直在用这个密码
^{pr2}$我得到一个错误,它是TypeError: data type not understood
。当我使用小写的时候,我得到了同样的错误。但是在上面的一行,我在另一个文件中读,如果I是小写的,它就不起作用了,但是如果是大写的,它就可以了。在
我不知道错误发生在哪里,也不知道该如何纠正。任何想法都将不胜感激。在
在numpy里没有72位的浮动。在
指定
'f8'
/'I8'
,或者为了更容易阅读:np.float
/np.uint
。没有'f9'
(这将是一个72位浮点)。在请查看defining a dtype in numpy的文档。在
不过,对于你的情况,你可能不需要为此烦恼。在
如果您不需要结构化数组,那么就不要使用它。(如果您不知道什么是结构化数组,在这种情况下可能不需要它。)
只要做
data = np.loadtxt("datafile.txt", skiprows=1)
。如果您确实需要一个结构化数组,那么考虑执行data = np.genfromtxt("datafile.txt", names=True)
。对于简单的情况,稍后将第一列强制转换为无符号整数比显式定义数据类型更容易。在相关问题 更多 >
编程相关推荐