如何将a的str表示形式(dict如下面的字符串)转换为dict?
s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
Run Code Online (Sandbox Code Playgroud)
我不喜欢用eval.我还能用什么?
这样做的主要原因是我写的一个同事课程,将所有输入转换为字符串.我没心情去修改他的课程来处理这个问题.
我想知道最简单的方法是将string如下列表转换为list:
x = u'[ "A","B","C" , " D"]'
Run Code Online (Sandbox Code Playgroud)
即使用户在逗号和引号内的空格之间放置空格也是如此.我需要处理它:
x = ["A", "B", "C", "D"]
Run Code Online (Sandbox Code Playgroud)
在Python中.
我知道我可以剥夺的空间与strip()和split()使用拆分操作和检查非字母.但是代码变得非常糟糕.有一个我不知道的快速功能吗?
我有一个看起来像这样的非标准CSV文件:
x,y
1,"(5, 27, 4)"
2,"(3, 1, 6, 2)"
3,"(4, 5)"
Run Code Online (Sandbox Code Playgroud)
使用pd.read_csv()导致的结果并不是那么有用,因为元组没有被解析。有迹象表明,解决这个问题(一个现有的答案1,2),但由于这些元组具有异质性的长度,这些答案是不是我有问题是完全有益的。
我想做的是绘图x与y使用熊猫绘图例程。天真的方法会导致错误,因为元组存储为字符串:
>>> # df = pd.read_csv('data.csv')
>>> df = pd.DataFrame({'x': [1, 2, 3],
'y': ["(5, 27, 4)","(3, 1, 6, 2)","(4, 5)"]})
>>> df.plot.scatter('x', 'y')
[...]
ValueError: scatter requires y column to be numeric
Run Code Online (Sandbox Code Playgroud)
我希望得到的结果是这样的:
import numpy as np
import matplotlib.pyplot as plt
for x, y in zip(df['x'], df['y']):
y = eval(y)
plt.scatter(x * np.ones_like(y), y, color='blue')
Run Code Online (Sandbox Code Playgroud)
通过转换数据框并使用df.plot.scatter() …
我从文件中读取了一些元组数据。元组采用字符串形式,例如Color["RED"] = '(255,0,0)'。如何将这些字符串转换为实际的元组?
我想像这样在 PyGame 中使用这些数据:
gameDisplay.fill(Color["RED"])
# but it doesn't have the right data right now:
gameDisplay.fill('(255,0,0)')
Run Code Online (Sandbox Code Playgroud)