list of dictionaries
我的数据是{'yMax': u'156', 'xMax': u'4802', 'xMin': u'4770','yMin': u'141', 'id': '1', 'name': ''}
{'yMax': u'157', 'xMax': u'4895', 'xMin': u'4810','yMin': u'141', 'id': '2', 'name': ''}
,因为示例在列表中的更多字典上面共享。这个例子让他们硬编码,但在实际情况下他们是在一个txt文件,我的问题是让他们正确地从该格式的txt文件中读取。
查看我的.txt文件中的数据
strings
事情是在硬编码版本上进行了进一步处理但是当我从文件中读取它时没有,因为我可能正在阅读它们json.load
而不是字典并且不确定什么是最有效的方法修复就是这样,我尝试将它们作为re.findall(r'\d+', str(labels1))
或逐行读取,然后使用myRef.orderByChild("BloodGroup")
.equalTo("Type O")
.orderByChild("city")
.equalTo("NY");
来获取数字并逐个附加dict,但这是一个forstle甚至不起作用。
答案 0 :(得分:1)
是的,当您阅读文件时,内容将保存到string
变量。您可以对此变量使用eval
函数,将其转换为您想要的。 Documentation.
但请注意,eval
isn't secure, so consider also this solution。
在具体案例中,它应该如下:
with open("my_file_with_formated_data", "r") as file:
my_data = file.read()
labels1 = eval(my_data)
您也可以使用ast literal eval
代替eval
来确保一切安全。
答案 1 :(得分:1)
您可以使用比{eval更安全的ast
。阅读更多:Convert a String representation of a Dictionary to a dictionary?
import ast
file = open("file.txt", 'r')
for line in file.readlines():
dicObj = ast.literal_eval(line.strip('\n'))
print(isinstance(dicObj, dict))
真