【问题标题】:Python list with json saved as a one-String list将 json 保存为单字符串列表的 Python 列表
【发布时间】:2021-01-19 21:37:52
【问题描述】:

我有以下问题:

def guardar_datos_en_json(dato, nombre_archivo):
    try:
        with open(nombre_archivo, "a") as contenedor:            
            json.dump(dato, contenedor)
    except:
        raise

def cargar_datos_de_json(nombre_archivo):
    lista = []    
    with open(nombre_archivo,"r") as contenedor:
        for linea in contenedor:            
            lista.append(linea)                                   
    linea = json.dumps(linea)                           
    return lista

这个函数返回一个基于json文件的列表,问题是当我做它的测试时,它不是返回一个列表,而是返回一个带有一个字符串的列表。

例如,如果我将数字 1 和 2 保存在 json 文件中,当我使用函数 cargar_datos_de_json 时,它将返回 ['12'] 而不是 [1, 2],有人知道为什么吗? 谢谢!

【问题讨论】:

  • 您是否尝试过检查 json 文件内容是否符合您的预期?
  • 你的 dato 是什么
  • 检查我的答案

标签: python json list file append


【解决方案1】:

当您使用 json.dump 转储列表时,它将如下所示

import json
list = [1, 2]
json.dumps(list) # '[1, 2]'

我认为您需要按照以下方式进行操作

import ast 
def cargar_datos_de_json(nombre_archivo):
    with open(nombre_archivo,"r") as contenedor:
        lista = ast.literal_eval(contenedor) 
    return lista         

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多