我有一个文本文件,我使用以下 Python 行将数据作为字符串提供:
file = open("C:\\Users\\Me\\Desktop\\data.txt", "a")
file.writelines(str(mathfunction(readField())))
file.flush()
file.close()
格式如下:
文本文件中的每个输入都包含三个项目的数组。
我的目标是从每个输入中提取第三项,将其转换为 float ,然后将这些值存储在新数组中。因此,理想情况下,在上述情况下,数组将包含:
[1.0087890625、0.4404296875、0.4404296875]
我尝试了以下方法:
data = pd.read_csv("C:\\Users\\User\\Desktop\\data.txt", sep="]", header = None)
data.head()
它以看起来像字符串格式的数据返回。
为了隔离每个子数组中的第三项并将其全部存储在一个数组中,我应该采取哪些后续步骤?
编辑:这是 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/