Leer un archivo comprimido como Pandas DataFrame

En este artículo, intentaremos descubrir cómo podemos leer datos de un archivo zip utilizando un marco de datos panda. 

¿Por qué necesitamos un archivo zip?

Las personas usan grupos de archivos relacionados juntos y para hacer que los archivos sean compactos, de modo que sea más fácil y rápido compartirlos a través de la web. Los archivos zip son ideales para archivar, ya que ahorran espacio de almacenamiento. Y también son útiles para proteger los datos mediante el método de cifrado.

Requisito: 

Módulo zipfile36: este módulo se utiliza para realizar varias operaciones en un archivo zip utilizando un programa de Python simple. Se puede instalar usando el siguiente comando:

pip install zipfile36

Método n.º 1: uso de compresión = zip en el método pandas.read_csv()

Al asignar el argumento de compresión en el método read_csv() como zip, los pandas primero descomprimirán el zip y luego crearán el marco de datos a partir del archivo CSV presente en el archivo comprimido. 

Python3

# import required modules
import zipfile
import pandas as pd
 
# read the dataset using the compression zip
df = pd.read_csv('test.zip',compression='zip')
 
# display dataset
print(df.head())

Producción:

Método #2: Abrir el archivo zip para obtener el archivo CSV.

Aquí, inicialmente, se abre el archivo comprimido y se extrae el archivo CSV, y luego se crea un marco de datos a partir del archivo CSV extraído. 

Python3

# import required modules
import zipfile
import pandas as pd
 
# open zipped dataset
with zipfile.ZipFile("test.zip") as z:
   # open the csv file in the dataset
   with z.open("test.csv") as f:
       
      # read the dataset
      train = pd.read_csv(f)
       
      # display dataset
      print(train.head())

Producción:

Publicación traducida automáticamente

Artículo escrito por skrg141 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 *