Python преобразовывает строки в числа с плавающей точкой, что приводит к ошибке - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь преобразовать строки из текстового файла с помощью charset: us-ascii.на 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: не удалось преобразовать строку в число с плавающей точкой: '.'и ValueError: не удалось преобразовать строку в число с плавающей точкой: '-'

Итак, в основном дефис, указывающий, что число является отрицательным, например ('-9') и "."в десятичных числах, таких как (9.2), вызывают эти проблемы.Я импортировал уникальные данные, чтобы получить имена этих символов:

print(*map(unicodedata.name, data[0].split()[-1][0]))

и получил следующий результат: '.'означает «полная остановка», а «-» - это HYPHEN-MINUS

Я не понимаю, что является причиной проблемы, и я не знаю, как ее решить.

...