使用numpy.savetxt不适用于长双打

时间:2018-08-08 10:33:22

标签: numpy gis scientific-notation rounding

我正在尝试使用numpy.savetxt将GIS属性表导出到csv,但是无论我为fmt设置了什么值,我的值都会四舍五入并以科学计数法显示。

基本上,我在属性表中有两个感兴趣的字段,例如X和Y。X包含长度为11的值,Y包含长度为16的值-它们都还包含NULL。两列的类型在GIS中都设置为double。

如果我设置fmt = '%12.0f,%16.0f',则结果文件将具有科学计数法。但是,如果我在csv中单击X中的任何值,则似乎未四舍五入,而Y中的值已四舍五入,因此对我来说没有用。

理想情况下,我想将值导出为整数,但是如果我设置fmt = '%12d,%16d',则会出现以下错误...

Runtime error 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\ArcGIS10.2\lib\site-packages\numpy\lib\npyio.py", line 1047, in savetxt
    fh.write(asbytes(format % tuple(row) + newline))
TypeError: %d format: a number is required, not numpy.float64

我以为可能是因为我有空值。

有人可以帮忙吗?

0 个答案:

没有答案