下面是我的数据文件示例。注意,我没有包括所有的标题。还请注意,特定的数据值通常为空(在本例中,调用第1行和第5行,但也可以是其他列)
USAF WBAN STATION NAME CTRY ST CALL LAT LON ELEV(M) BEGIN END
703165 99999 SAND POINT US AK +55.333 -160.500 +0006.0 19730107 20041231
703210 25513 DILLINGHAM AIRPORT US AK PADL +59.050 -158.517 +0026.2 20060101 20200516
703210 99999 DILLINGHAM MUNI US AK PADL +59.050 -158.517 +0029.0 19730101 20051231
703260 25503 KING SALMON AIRPORT US AK PAKN +58.683 -156.656 +0020.4 19420110 20200516
703263 99999 KING SALMON US AK +58.683 -156.683 +0017.0 19801002 19960630
我只想将中的每一列作为不同的一维numpy数组来阅读。我使用了以下代码:
usaf, wban, name, ctry, st, call, lat3, lon3, elv, begin, end = \
np.genfromtxt('./documentation/isd-history.txt', \
dtype=('S6', 'S6', 'S30', 'S3', 'S5', 'S5', float, float, float, int, int), \
comments='None', delimiter=[6, 6, 30, 3, 5, 5, 9, 9, 8, 9, 9 ],\
skip_header=22, unpack=True)
我得到以下错误
ValueError: too many values to unpack
这似乎是一个非常简单的过程,但很明显我遗漏了一些东西。任何建议都将不胜感激
带有分隔符的示例确实会生成11个字段:
或者用你剩下的命令
unpack=True
并没有改变这一点对于复合数据类型字段,数组为1d:
转置没有任何作用。这个
unpacking
仅在数据类型简单且结果为2d数组(例如(5,11)、转置为(11,5)并解压为11个变量时有效。拆包应该更清楚地说明这一区别您可以使用单独的赋值来解包字段
相关问题 更多 >
编程相关推荐