我正在尝试使用charset:us-ascii从txt文件转换字符串。 到np.float64。数据只是十进制数字(正数和负数)。
with open(path) as fp:
data=fp.readlines()
enr_val = [[np.float(val) for val in line.split()[-1]] for line in data[0:]]
print(np.shape(enr_val))
我遇到以下错误:
ValueError:无法将字符串转换为float:'。 和 ValueError:无法将字符串转换为float:'-'
因此,基本上,连字符表示该数字为负数,例如('-9')和“。”像(9.2)这样的十进制数字会导致这些问题。我导入unicodedata以获得这些字符的名称:
print(*map(unicodedata.name, data[0].split()[-1][0]))
并得到以下结果: '。'是句号 而“-”是减号
我不明白是什么原因导致的问题,我也不知道如何解决。