如何将像“张量([13,16.])这样的字符串转换成十位数

2024-03-28 22:53:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我从包含如下位置信息的txt文件中读取数据: "... 位置:张量([13,16.]) 位置:张量([11,1.]) ... " 我的问题是如何把它转换成实张量来做一个图。 我阅读的数据如下:

for line in file:
     M_l = re.search(r"Location: (.*)", line)
     location = M_l.group(1)
     plt.plot(location, 'r+')

Tags: 文件数据inretxt信息forsearch
1条回答
网友
1楼 · 发布于 2024-03-28 22:53:56

请尝试以下代码段。必须提取与张量对应的实际列表(位于括号之间),这些列表采用string格式。所以使用ast将这个字符串列表转换成python列表。然后使用tf.convert_to_tensor转换为张量(仅在必要时?)。如果要转换为张量,则必须在会话中运行张量并获取值和绘图。如果您不需要生成一个张量,您可以只打印列表而不使用tensorflow会话。你知道吗

import tensorflow as tf
import re
import ast


file = open("test.txt","r")
for line in file:
    M_l = re.search(r"Location: (.*)", line)
    location = M_l.group(1)
    location=ast.literal_eval(re.search('\(([^)]+)', location).group(1))

    l=tf.convert_to_tensor(location, dtype=tf.float32)

    with tf.Session() as sess:

        plt.plot(sess.run(l), 'r+')

相关问题 更多 >