Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 异常:意外的数据类型<;类型';浮动'&燃气轮机;_Python_Xlrd_Xlwt - Fatal编程技术网

Python 异常:意外的数据类型<;类型';浮动'&燃气轮机;

Python 异常:意外的数据类型<;类型';浮动'&燃气轮机;,python,xlrd,xlwt,Python,Xlrd,Xlwt,这在某种程度上是上一篇文章的延续,我应该在文章中指出,我仍然是python和编程的新手。我正在使用xlrd和xlwt读取使用arcpy从ArcMap featureclass创建的excel表,之前我用pyexcel_xls和xlutils绞尽脑汁(后两者没有正确安装在我的机器上,当时我对此无能为力) ArcMap会自动生成一个对象ID字段,在将最终excel输出上载到.dtt文件之前,我需要删除该字段,该文件中的数组已指定且无法更改。因此,脚本必须打开并读取使用arcpy创建的excel文件,

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

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

    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
/
,但代码末尾的
块除外,因为抑制错误可能会使调试非常困难。请添加完全回溯。我收到了相同的消息,有没有尝试例外你能显示完整的回溯吗?其中一行应该告诉您代码的哪一部分导致异常。您可能还希望注释掉或以其他方式删除非常广泛的
try
/
,但代码末尾的
块除外,因为抑制错误可能会使调试非常困难。请添加完全回溯。我得到了相同的信息,无论是否尝试,除了
workbook = xlrd.open_workbook(outXL)
writeBook = r"S:\Corporate\Corporate Information\Routesmart\Recol_1\Upload\SVRSTA00.xls"

sheet = workbook.sheet_by_index(0)

cell_range_value = 0
for value in sheet.col(32):
    cell_range_value += 1
print cell_range_value

dct1 = {}
for i in range(0, cell_range_value,1):
    data = [sheet.cell_value(i, col) for col in range(sheet.ncols)[1:]]
    cell_value_class = sheet.cell(i,32).value
    cell_value_id = data
    dct1[cell_value_class] = cell_value_id

workbook = xlwt.Workbook('utf-8','writeBook')
worksheet = workbook.add_sheet('SVRSTA00')

row = 0
col = 0

try:
    for key in dct1.keys():
        for value in dct1.values():
            worksheet.write(row, col, value)
        row += 1

except (RuntimeError,TypeError, NameError, ValueError):
    pass

workbook.save(writeBook)