Eval在python中的元组的字符串表示

时间:2018-05-26 05:50:57

标签: python dictionary

我目前有一列字符串值,如下所示:

d = {'col1': '(100,200),(150,124),(135,137)'}

我需要将此值更改为浮点值以使其成为:

d = {'col1': [(100,200),(150,124),(135,137)]}

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

让我们尝试使用Console.Write。你可以将你的字符串包装在大括号中并安全地评估它们:

import numpy as np
import networkx as nx
import matplotlib.pyplot as plt

A = np.matrix([[1,1],[2,1]])
G = nx.from_numpy_matrix(A)
nx.draw(G)
plt.show()

ast.literal_eval

答案 1 :(得分:-1)

首先,在字符串周围添加sqare括号: {'col1': '[(100, 200), (150, 124), (135, 137)]'}

稍后,eval ()该字符串。

d['col1'] = '[' + d['col1'] + ']'
d['col1'] = eval(d['col1'])

print(d)
# {'col1': [(100, 200), (150, 124), (135, 137)]}

pd.DataFrame(d)