Warm tip: This article is reproduced from serverfault.com, please click

json-我无法对python dict做任何事情?

(json - I can't do anything with python dict?)

发布于 2020-11-28 02:45:29

我真的遇到了一个小问题。

diccionario_antiguos = {}
            
    data = open('Currency_price.json')
    for i in data:
        diccionario_antiguos = i

Currency_price.json是一个包含如下字典的文件:

{"Dolar": ["80,25", "86,25"], "Euro": ["96,59", "97,04"]}

关键是货币和价值及其价格清单。

我的问题是,在将所有信息传递给diccionario_antiguos之后,我无法操作其中的任何内容。

例如,如果我这样做:

print(diccionario_antiguos.get('Dolar')

我得到'str'对象没有属性'get'

如果我做

print(diccionario_antiguos['Dolar']

我得到的字符串索引必须是整数

然后我说:“哦,我应该让你使用整数”,所以我做到了:

print(diccionario_antiguos[0])

那里没有异常,但是我得到了[](当我打印整个词典并且我知道那里的数据时)。

我不知道发生了什么,因为如果我将此方法与任何字典一起使用,即使键是String,它们也将起作用。

有什么办法吗?谢谢!

Questioner
Oto
Viewed
0
frankr6591 2020-11-28 10:59:13

这是json和dict的代码...

import json
j = '''{"Dolar": ["80,25", "86,25"], "Euro": ["96,59", "97,04"]} '''
jDict = json.loads(j)
print(jDict)
print("Dolar List", jDict['Dolar'])
print("Euro  List", jDict['Euro'])

# Write Dict to json file
fn = 'Currency_price.json'
with open(fn, 'w') as fio:
    json.dump(jDict, fio)

# Read Json file
with open(fn, 'r') as fio:
    j2Dict = json.load(fio)

print("\n-------\n")

print(j2Dict)
print("Dolar List", j2Dict['Dolar'])
print("Euro  List", j2Dict['Euro'])

输出

{'Dolar': ['80,25', '86,25'], 'Euro': ['96,59', '97,04']}
Dolar List ['80,25', '86,25']
Euro  List ['96,59', '97,04']

-------

{'Dolar': ['80,25', '86,25'], 'Euro': ['96,59', '97,04']}
Dolar List ['80,25', '86,25']
Euro  List ['96,59', '97,04']