Leer la lista de diccionarios del archivo en Python

Un diccionario en Python es una colección donde cada valor se asigna a una clave. Dado que no están ordenados y no hay restricciones en el tipo de datos de valores y claves almacenados en el diccionario, es complicado leer diccionarios de archivos en Python.

Acercarse

El enunciado del problema menciona una lista de diccionarios que deben leerse de un archivo. Puede haber dos formas de hacer esto:

1. Lectura de un archivo de texto

Podemos leer datos de un archivo de texto como una string y convertir esos datos en un diccionario en Python. Suponiendo que nuestros datos se almacenan en un archivo de texto en el siguiente formato: 

{'geek': 10, 'geeky': True}
{'GeeksforGeeks': 'Education', 'geekgod': 101.0, 3: 'gfg'}
{'supergeek': 5}

El enfoque incluiría los siguientes pasos:

  • Abra el archivo de texto en modo de lectura y lea el contenido.
  • Analice cada línea del contenido en un diccionario.

2. Lectura usando el Módulo Pickle

El módulo pickle en Python se usa principalmente en campos como la ciencia de datos, donde la persistencia de los datos es crítica. El módulo pickle almacena los datos dados como una secuencia de bytes serializados en archivos que se pueden recuperar fácilmente en un momento posterior. El módulo Pickle admite varios objetos de Python y los diccionarios son uno de ellos. Este método incluiría los siguientes pasos:

  • Importando el módulo pickle
  • Abrir el archivo en modo binario de lectura
  • Cargando los datos en una variable usando el método de volcado del módulo pickle
list_dictionary = pickle.load(filehandler)

A continuación se muestran los ejemplos de los enfoques discutidos anteriormente.

1. Lectura del archivo de texto:

Fichero de entrada:

Python3

def parse(d):
    dictionary = dict()
    # Removes curly braces and splits the pairs into a list
    pairs = d.strip('{}').split(', ')
    for i in pairs:
        pair = i.split(': ')
        # Other symbols from the key-value pair should be stripped.
        dictionary[pair[0].strip('\'\'\"\"')] = pair[1].strip('\'\'\"\"')
    return dictionary
try:
    geeky_file = open('geeky_file.txt', 'rt')
    lines = geeky_file.read().split('\n')
    for l in lines:
        if l != '':
            dictionary = parse(l)
            print(dictionary)
    geeky_file.close()
except:
    print("Something unexpected occurred!")

Producción:

{'geek': '10', 'geeky': 'True'}
{'GeeksforGeeks': 'Education', 'geekgod': '101.0', '3': 'gfg'}
{'supergeek': '5'}

2. Lectura usando Pickle

Python3

import pickle
  
  
try:
    geeky_file = open('GFG.txt', 'r')
    dictionary_list = pickle.load(geeky_file)
      
    for d in dictionary_list:
        print(d)
    geeky_file.close()
  
except:
    print("Something unexpected occurred!")

Producción:

Publicación traducida automáticamente

Artículo escrito por z0o0p y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *