使用方括号将文件导入和输出到 python 中遇到困难

所以这应该是一个超级简单/容易的解决方法,但由于我是个白痴,我一直找不到它。 我有一组格式为“.out”的数据来自另一个 python 代码。 数据看起来像

[0.050626139320072316,0.4897246945768088,0.279325751665853,0.010591097495509572]
[0.012328732333543344,0.14501277198780135,0.16484825763980457,0.0016252082721251253]

并继续 100 多行。我觉得这是一个标准输出,但显然没有像它这样的基本导入方法。我正在尝试导入此数据以进行处理,而不更改“.out”文件本身。 我试过了:

frequencies = open("filelocation")
frequencies = pd.read_csv("filelocation")
frequencies = np.genfromtxt("filelocation",Dtype=['<8f','<8f','<8f']

数据必须可用于在代码中创建图表。你可能会问自己这有什么问题?好吧,无论出于何种原因,所有这些导入数据的方法都认为一行中的第一个和最后一个数字是一个带有方括号的字符串。到目前为止,我所做的任何消除方括号的方法都破坏了数组的结构,使其只是一个列表。

dqsj09021013 回答:使用方括号将文件导入和输出到 python 中遇到困难

如评论中所述,这不是 CSV 文件。每一行都是一个数字列表的 Python 表示。

您可以通过读取每一行并调用 ast.literal_eval() 将其转换为列表来处理它。

import ast

with open("filelocation") as f:
    freq_list = [ast.literal_eval(line) for line in f if line]

frequencies = pd.Dataframe(freq_list)
本文链接:https://www.f2er.com/7798.html

大家都在问