我尝试删除第一个和最后一个引用跟随字符串[1:-1]。但它无法正常工作! 这是我的代码:
def write_data_to_file(file_name, data):
f = open(file_name,'wb')
data_convert_str = dict()
data_remove_quotes =dict()
for index_line in range(1, number_lines +1)
data_convert_str[index_line] = repr(data_line])
data_remove_quotes[index_line] = data_convert_str[1:-1]
json.dump(data_remove_quotes[index_line], f)
f.write('\n')
f.close()
我的数据是dict类型:{'a' : 0.001, 'b' : 0.002}
在我的程序中生成。
结果是:'a' : 0.001, 'b' : 0.002
。
请为我解释。
非常感谢你的帮助!
答案 0 :(得分:0)
你要做的似乎是把一个看起来像字典的字符串变成一个字典。
由于jonrsharpe提到的原因,删除引号不会起作用。现在,已经在Stack Overflow上探讨了将看起来像字典的字符串转换为字典的主题。与Here一样。
长话短说?使用:import ast
导入抽象语法树模块(从2.6开始),然后导入ast.literal_eval(n)
,其中n是存储dict为字符串的变量,在本例中为"{'a' : 0.001, 'b' : 0.002}"
。< / p>
我花了五秒钟搜索堆栈溢出来找到它。
编辑:我在2.7下用你的字符串测试它,然后它返回你正在寻找的字典。