Python提取JSON字典键得到dict_keys类型而非字符串如何解决
你当前代码的问题在于Python 3中dict.keys()返回的是字典键视图对象,并非直接的键值列表,你使用str()强制转换该对象时,会把对象的描述文本直接转为字符串,才会出现带dict_keys前缀的错误输出。
你给出的JSON结构中每个字典仅包含1个银行名称作为键,修改循环逻辑即可拿到纯字符串格式的键:
修改后代码
import json data = [ { "Agricultural Development Bank Ltd.": [ "Palpa (Rampur) Branch", "Tinpaini Branch"]}, { "Bank of Kathmandu Limited": [ "Palpa (Rampur) Branch", "Tinpaini Branch"]} ] all_bank_names = [] for item in data: # 可选方案1:转为列表后取第一个元素,写法直观 bank_name = list(item.keys())[0] # 可选方案2:通过迭代器取第一个元素,无需生成完整列表,效率更高 # bank_name = next(iter(item.keys())) all_bank_names.append(bank_name) with open('bank_names.json', 'w', encoding='utf-8') as f: json.dump(all_bank_names, f, ensure_ascii=False, indent=4)
输出结果
运行后生成的JSON文件内容就是你需要的纯字符串格式:
[ "Agricultural Development Bank Ltd.", "Bank of Kathmandu Limited" ]
内容的提问来源于stack exchange,提问作者lord stock
相关产品推荐
相关产品推荐

