如何解决TypeError:int参数必须是字符串,类似字节的对象或数字,而不是“ map”
strucArray = np.array(arrayTuple,np.dtype([('inSeqNum',np.int),(lstVals[0],np.float)]))
TypeError: int() argument must be a string,a bytes-like object or a number,not 'map'
这是代码块:
seqnum = None
lstFile = open(inListFileName)
for lstLn in lstFile.readlines():
lstVals = lstLn.strip().split()
basePath=os.getcwd()
file=os.path.join(basePath,'OUT_ST',lstVals[1])
if len(lstVals) > 1:
loadArray = np.loadtxt(file).flatten()
if seqnum is None:
seqnum = np.arange(1,len(loadArray) + 1)
arrayTuple = map(tuple,np.column_stack((seqnum,loadArray)))
strucArray = np.array(arrayTuple,np.float)]))
arcpy.da.ExtendTable(target,seqFieldName,strucArray,'inSeqNum',False)
lstFile.close()
解决方法
我认为您只需要在此行添加一个列表强制转换即可
strucArray = np.array(arrayTuple,np.dtype([('inSeqNum',np.int),(lstVals[0],np.float)])
对此:
strucArray = np.array(list(arrayTuple),np.int)`,np.float)]))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。