這是我在我的data.txt
文件如何從python中的多個字典中獲取一個鍵的值?
{"setup": "test", "punchline": "ok", "numOfRatings": 0, "sumOfRatings": 0},
{"setup": "test2", "punchline": "ok2", "numOfRatings": 0, "sumOfRatings": 0}
數據如何將能夠在使用循環的 字典每setup
只得到數據?
感謝
這是我在我的data.txt
文件如何從python中的多個字典中獲取一個鍵的值?
{"setup": "test", "punchline": "ok", "numOfRatings": 0, "sumOfRatings": 0},
{"setup": "test2", "punchline": "ok2", "numOfRatings": 0, "sumOfRatings": 0}
數據如何將能夠在使用循環的 字典每setup
只得到數據?
感謝
我不知道你是怎麼得到的字典到擺在首位的文本文件,但如果它能夠丟棄尾隨逗號,即
{"setup": "test", "punchline": "ok", "numOfRatings": 0, "sumOfRatings": 0}
{"setup": "test2", "punchline": "ok2", "numOfRatings": 0, "sumOfRatings": 0}
喜歡的東西此代碼,你需要把前夕之後
def dicts_from_file(file):
dicts_from_file = []
with open(file,'r') as inf:
for line in inf:
dicts_from_file.append(eval(line))
return dicts_from_file
def get_setups(dicts):
setups = []
for dict in dicts:
for key in dict:
if key == "setup":
setups.append(dict[key])
return setups
print get_setups(dicts_from_file("data.txt"))
f = open('data')
for line in f:
d = ast.literal_eval(line)[0]
print d['setup']
「」:這可能會爲你工作ry行,因爲ast.literal_eval(行)將行轉換爲元組。
,如果你不是每個字典後有做「」,然後用這個
f = open('data')
for line in f:
d = ast.literal_eval(line)
print d['setup']
你可以試試這個,如果你的文件中的線是標準的字典字符串。
def get_setup_from_file(file_name):
result = []
f = open(file_name, "r")
for line in f.xreadlines():
# or line_dict = json.loads(line)
line_dict = eval(line) # if line end witch ',', try eval(line[0:-1])
result.append(line_dict["setup"])
return result
希望這能幫助你。
,如果它是標準的字典字符串,試試這個:
with open(file,'r') as file_input:
for line in file_input:
print eval(line).get("setup")
您是否嘗試過的東西沒有? – AKS
這是JSON格式的數據嗎?它看起來像。如果是這樣,你有沒有嘗試過使用['json'](https://docs.python.org/3/library/json.html)模塊?如果它不起作用,錯誤信息或問題是什麼?展示迄今爲止您嘗試的內容有助於讀者瞭解您需要什麼類型的指導。 – dimo414