python - 读取文本文件,并在Python中用括号分隔字符串

标签 python arrays

我有一个文本文件,我使用以下 Python 行将数据作为字符串提供:

    file = open("C:\\Users\\Me\\Desktop\\data.txt", "a")
    file.writelines(str(mathfunction(readField())))
    file.flush()
    file.close()

格式如下:

enter image description here

文本文件中的每个输入都包含三个项目的数组。

我的目标是从每个输入中提取第三项,将其转换为 float ,然后将这些值存储在新数组中。因此,理想情况下,在上述情况下,数组将包含:

[1.0087890625、0.4404296875、0.4404296875]

我尝试了以下方法:

data = pd.read_csv("C:\\Users\\User\\Desktop\\data.txt", sep="]", header = None)
data.head()

enter image description here

它以看起来像字符串格式的数据返回。

为了隔离每个子数组中的第三项并将其全部存储在一个数组中,我应该采取哪些后续步骤?

编辑:这是 data.txt 中的一些数据

[0.0263671875, 0.03515625, 1.0087890625][0.01171875, 0.0146484375, 0.4404296875][0.01171875, 0.0146484375, 0.4404296875]

最佳答案

读入数据后,您可以用 ',' 逗号分隔:

data = pd.read_csv("C:\\Users\\User\\Desktop\\data.txt", sep="]", header = None)
data = data.iloc[0]
data = data.apply(lambda x: x.split(',')[2]).astype(float).tolist()

如果您想将数据保留在 Pandas Series 中,只需删除上面的 tolist() 部分即可。这是一个例子:

data = pd.DataFrame([['[1,2,3','[3,4,5','[4,5,6']])
print(data)
        0       1       2
0  [1,2,3  [3,4,5  [4,5,6

data = data.iloc[0]
data = data.apply(lambda x: x.split(',')[2]).astype(float).tolist()
print(data)
[3.0, 5.0, 6.0]

关于python - 读取文本文件,并在Python中用括号分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45335351/

相关文章:

python - 写入文件时出现问题

python - 如何从图像中只提取字符?

python - 使用xterm打开新控制台: How to while the current console is printing,也在新控制台上打印

javascript - 从 node.js 中的平面数组构建树数组

javascript - jQuery 不相交

python - 比较两个数组并显示匹配项的总和

python - Cartopy 范围问题 (free() : invalid size)

javascript - 将年份数组分组到一个范围内

c - 如何将 CSV 文件读入结构的二维数组,其中每个元素都有一个确定字符(C、G、M)来排序到结构中?

arrays - 为什么这个 string.match 不能持续工作?