Python ValueError: не удалось преобразовать строку в число с плавающей запятой: '1,000000E+06'Python

Программы на Python
Anonymous
Python ValueError: не удалось преобразовать строку в число с плавающей запятой: '1,000000E+06'

Сообщение Anonymous »

У меня есть список из примерно 70 строковых значений, все с E+(05 или 06), которые следует преобразовать в число с плавающей запятой (поскольку всякий раз, когда я пытаюсь напечатать значения, он почему-то игнорирует 100000 или 1000000) .

Код: Выделить всё

raw_data = 'EISTest16_10CV_01.txt' # name of your file
# Define the columns from our txt table
columns = ["Pt.","Frequency","Z'","Z''","Frequency (Hz)","|Z|","theta"]
# Read the txt file
data = pd.read_csv(raw_data,names=columns, sep="\t" or " ", skiprows =7) #skiprows is used to remove the header as parameters

frequency = np.asarray((data["Frequency"]))

#print("first 3 frequencies: ")
#test = '{0:,.2f}'.format(float(frequency[0]))

#floatfrequency = float(frequency[1])
#print(floatfrequency)

Моя проблема заключается в четырех нижних строках, закомментированных. Как я могу изменить str на float? Или как я могу прочитать E+06 из списка (или str)?
Некоторые похожие ответы предлагают использовать функцию Strip(). Должен ли я использовать его, например, для удаления E+05, а затем вручную добавить время 100000?
Также попробуйте:
test = '{0:,.2f }'.format(float( Frequency[0]))
но возникает та же ошибка.

Подробнее здесь: https://stackoverflow.com/questions/750 ... -000000e06

Вернуться в «Python»