首页 > 解决方案 > 从文本文件读取时如何将带括号的字符串转换为浮点数

问题描述

我有一个文本文件,我正在尝试读取和接收带括号的字符串并将其转换为浮点数组。

文本文件内容如下:

[0.1, 0.4242230677806444] 

以及我使用以下脚本从文本文件中读取的字符串:

testsite_array = []
with open('BestIndividuals_Gen.txt') as my_file:
    for line in my_file:
        testsite_array.append(line)

给出了一个字符串,"[0.1, 0.4242230677806444]"但是如何将这个带括号的字符串转换为浮点数组?

标签: python

解决方案


您可以分两步执行此操作。

string_array = "[0.1, 0.4242230677806444]"
# Step one convert to string array
as_array = string_array.strip('][').split(', ')
# Step two convert string array to float
as_float_array = [float(x) for x in  as_array]

或者,您可以使用该库ast

import ast 
string_array = "[0.1, 0.4242230677806444]"
as_float_array  = ast.literal_eval(string_array) 

另见: https ://www.geeksforgeeks.org/python-convert-a-string-representation-of-list-into-list/


推荐阅读