异常:意外的数据类型<type 'float'>

2024-04-27 07:48:56 发布

您现在位置:Python中文网/ 问答频道 /正文

这在某种程度上是上一篇文章的延续,我应该说,我仍然是python和编程的新手。我在用pyexcel_xls和xlutils绞尽脑汁后,用xlrd和xlwt从ArcMap featureclass中读取使用arcpy创建的excel表(后两个在我的机器上没有正确安装,我当时对此无能为力)。在

ArcMap会自动生成一个objectid字段,在将最终的excel输出上载到.dtt文件之前,我需要删除该字段,该文件中已指定数组且无法更改。因此,脚本必须打开并读取使用arcpy创建的excel文件,将所有数据复制到dict(不包括第0列),然后使用xlwt将dict写入新工作簿。在克服了无数的障碍之后,除了xlwt在将dict写入新的xls文件时遇到意外的数据类型外,我什么都做了:

    Traceback (most recent call last):
  File "C:\Python27\ArcGIS10.2\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 323, in RunScript
    debugger.run(codeObject, __main__.__dict__, start_stepping=0)
  File "C:\Python27\ArcGIS10.2\Lib\site-packages\pythonwin\pywin\debugger\__init__.py", line 60, in run
    _GetCurrentDebugger().run(cmd, globals,locals, start_stepping)
  File "C:\Python27\ArcGIS10.2\Lib\site-packages\pythonwin\pywin\debugger\debugger.py", line 654, in run
    exec cmd in globals, locals
  File "N:\Python\Completed scripts\Recol1_SVRSTA00_prep2.py", line 2, in <module>
    import arcpy, xlrd, xlwt
  File "C:\Python27\ArcGIS10.2\lib\site-packages\xlwt\Worksheet.py", line 1030, in write
    self.row(r).write(c, label, style)
  File "C:\Python27\ArcGIS10.2\lib\site-packages\xlwt\Row.py", line 257, in write
    self.__rich_text_helper(col, label, style, style_index)
  File "C:\Python27\ArcGIS10.2\lib\site-packages\xlwt\Row.py", line 283, in __rich_text_helper
    raise Exception ("Unexpected data type %r" % type(data))
Exception: Unexpected data type <type 'float'>

我想知道是否可以使用try和except来克服这个问题,但我不确定如何编写except语句。否则,有没有其他方法可以克服最后一个错误?以下是减去所有arcpy内容(工作正常)和import module语句的脚本:

^{pr2}$

Tags: 文件runinpypackagestypelinesite