Leer archivo GZ en Pandas
Si es un maníaco de Python y usa Python para el análisis y procesamiento de datos, puede estar interesado en leer un archivo gz
como un marco de datos de Pandas usando Python. Este tutorial enseña sobre una posible forma de leer un archivo gz
como un marco de datos utilizando una biblioteca de Python llamada pandas
.
Leer archivo GZ en Pandas
gz
es una extensión de archivo para archivos comprimidos que se comprimen mediante el algoritmo de compresión estándar GNU zip (gzip
). Es ampliamente utilizado como formato de compresión para los sistemas operativos Linux y Unix; por ejemplo, si tiene un archivo para un correo electrónico, puede usar el formato de archivo gz
para comprimir el archivo en un archivo más pequeño.
Los archivos de datos grandes se comprimen mediante un algoritmo de compresión y para utilizar estos datos; el usuario tiene que leer el contenido en una estructura organizada.
biblioteca de Python; Pandas tiene un tipo de datos llamado marco de datos, que es una parte integral del ecosistema Python y NumPy
, lo que los hace más rápidos, fáciles de usar y más poderosos que las tablas y las hojas de cálculo.
Un marco de datos es una estructura de datos utilizada para representar datos tabulares bidimensionales, redimensionables y potencialmente heterogéneos. Contiene ejes etiquetados (filas y columnas).
Las operaciones aritméticas se colocan en las etiquetas de fila y columna. Es un contenedor tipo dictado para objetos de serie, hojas de cálculo o tablas SQL.
Entonces, si estamos interesados en leer un archivo gz
como un marco de datos de Pandas usando Python, tenga en cuenta que no podemos leer el archivo .gz
directamente, necesitamos organizar los datos del archivo en un formato organizado usando Python.
Entonces, ¿cómo leer el archivo .gz
? Para ello, tendremos que seguir los pasos que se indican a continuación.
-
Indique la ruta absoluta del archivo
gz
y los atributos posteriores para la lectura del archivo. -
Usa el método
read_csv()
del módulopandas
y pasa el parámetro. -
Use pandas
DataFrame
para ver y manipular los datos del archivogz
.
Use el marco de datos de Pandas para leer el archivo gz
Supongamos que queremos leer un archivo comprimido gz
para un archivo CSV 50_Startups.csv
.
path_gzip_file = "F:/50_Startups.csv.gz"
Ejecutemos el siguiente código para hacerlo.
Código de ejemplo (guardado en demo.py
):
import pandas as pd
path_gzip_file = "F:/50_Startups.csv.gz"
gzip_file_data_frame = pd.read_csv(
path_gzip_file, compression="gzip", header=0, sep=",", quotechar='"'
)
print(gzip_file_data_frame.head(5))
Primero, importamos el módulo pandas
y lo alias como pd
para trabajar con tramas de datos y leer archivos. A continuación, especificamos una ruta absoluta de nuestro archivo gz
.
Después de eso, llamamos al método pd.read_csv()
del módulo pandas
y pasamos los parámetros. El pd.read_csv
toma múltiples parámetros y devuelve un marco de datos pandas
.
Pasamos cinco parámetros que se enumeran a continuación.
- El primero es un objeto de cadena
camino
. - El segundo es del tipo string
compresión
(en este caso,gzip
). - El tercero es un entero
encabezado
(Pase explícitamenteencabezado = 0
para que el nombre existente pueda ser reemplazado. El encabezado puede ser una lista de números enteros que especifican posiciones de fila para múltiples índices de la columna.[0,1,3]
). - El cuarto es la cadena
delimiter
(en este caso,,
). - El quinto es
quotechar
, una cadena opcional de longitud1
(los caracteres se usan para marcar el comienzo y el final de los elementos citados. Los elementos citados pueden contener delimitadores y se ignoran).
Finalmente, encadenamos el marco de datos con la función head()
que toma un parámetro n
, devuelve el primer número n
de filas de datos y luego imprime los datos.
Ahora, ejecutamos el código anterior de la siguiente manera:
PS F:\> & C:/Python310/python.exe f:/demo.py
Nuestro archivo 50_Startups.csv.gz
se lee con éxito. Vea las primeras 5 filas del contenido del archivo a continuación.
R&D Spend Administration Marketing Spend State Profit
0 165349.20 136897.80 471784.10 New York 192261.83
1 162597.70 151377.59 443898.53 California 191792.06
2 153441.51 101145.55 407934.54 Florida 191050.39
3 144372.41 118671.85 383199.62 New York 182901.99
4 142107.34 91391.77 366168.42 Florida 166187.94