Как сделать строчные буквы всех клавиш в json dict с Python - PullRequest
1 голос
/ 26 мая 2020

Я новичок на этом сайте, так что будьте добры ко мне, не гомо.

В настоящее время я практикую свои Python навыки с помощью кода, который проверяет заданный ключ по словарю JSON и дает вам определение ключа. Теперь я знаю, что есть другие решения моей проблемы, но я пытаюсь выяснить это конкретно, если это возможно.

Я пытаюсь изменить все ключи в моем словаре на нижний регистр, и я пробуя это сейчас так:

data = json.load(open("data.json"))

for key in data.keys():
    key = key.lower()

Как выглядит этот файл словаря (пример одного ключа):

"act": ["Something done voluntarily by a person, and of such a nature that certain legal consequences attach to it.", "Legal documents, decrees, edicts, laws, judgments, etc.", "To do something.", "To perform a theatrical role."]

По-видимому, он имеет более одного значения для каждого ключа, что создает проблему при пробе других решений.

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Решение, данное @bumblebee, является правильным и минимальным. Но если вам трудно понять это понимание словаря, обратитесь к следующему коду (это не то же самое, что и код @bumblebee)


data = json.load(open("data.json"))
new_data = {}
for key, value in data.items():
    new_data[key.lower()] = value

# any code if you want to add further

with open("data.json") as fp:
    json.dump(new_data, fp)

1 голос
/ 26 мая 2020

Вы можете попробовать это,

data = json.load(open("data.json"))
new_data = {key.lower():value for key, value in data.items()}

И тогда вы можете заменить старые данные новыми.

with open("data.json") as fp:
    json.dump(new_data, fp)
...