我正在尝试使用pyfits更新现有的拟合表。它对于表的某些列工作正常,遗憾的是不适用于第一列。 这是列定义:
event = pyfits.open('file.fits.gz')[1]
event.data.field('EVENT_ID')[0] = np.uint32(event.event_ID)
event.data.field('TEL_ID')[0] = int(tel.ID[2])
event.writeto('test.fits')
更新它的简单代码片段:
type(event.data.field('EVENT_ID')[0])
写入TEL_ID(以及此处未显示的其他内容)有效,EVENT_ID则不然。我已经尝试过不同的格式(np.int32,int),但总是一样......
{{1}}
返回numpy.uint32(对于未修改的文件)
感谢您的帮助
编辑:
如果我更改'EVENT_ID'的定义,省略'bscale'和'bzero',则值的更新有效。所以似乎无符号整数存在问题。