转换-1“;使用python将字符串转换为整数获取错误massege-ValueError:int()的文本无效,基数为10:'-';

转换-1“;使用python将字符串转换为整数获取错误massege-ValueError:int()的文本无效,基数为10:'-';,python,arcpy,Python,Arcpy,我尝试使用if int(Floor)=-1:将包含“-1”的要素类图层中的字符串转换为整数,并获得以下结果- 谢谢你正在运行Windows。这可能意味着UTF-16LE在那里的某个地方被搞混了 >>> int('-\x001\x00') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int(

我尝试使用
if int(Floor)=-1:
将包含“-1”的要素类图层中的字符串转换为整数,并获得以下结果-


谢谢你正在运行Windows。这可能意味着UTF-16LE在那里的某个地方被搞混了

>>> int('-\x001\x00')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '-'


>>> int('-\x001\x00'.decode('utf-16le'))
-1
>>int('-\x001\x00')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:以10为底的int()的文本无效:'-'
>>>int('-\x001\x00'.解码('utf-16le'))
-1

您可以展开吗?您要转换的字符串是什么?您不是在转换
'-1'
,而是在转换
'-'
。为什么?我怎样才能修好它?谢谢你还没有提供确定的信息。给出一组代码和输入数据。现在我得到了:Floor=int(Floor.decode('utf-16le'))文件“C:\Python27\ArcGIS10.1\lib\encodings\utf_16_le.py”,第16行,在decode return codecs.utf_16_le_decode(输入,错误,True)UnicodeDecodeError:“utf16”编解码器无法解码位置0中的字节0x31:截断的数据打印出正在获取的数据的报告。