Cómo leer el contenido de cada fila y columna en un archivo parquet en Python

introducción

Parquet es un formato de almacenamiento en columnas que se utiliza principalmente para el procesamiento de datos a gran escala. Tiene una relación de compresión eficiente y un rendimiento de lectura rápido, lo que lo hace útil cuando se trabaja con grandes conjuntos de datos. Python proporciona una variedad de métodos para leer y procesar archivos Parquet. Este artículo presentará cómo usar Python para leer el contenido de cada fila y columna en un archivo Parquet.

Preparación

Antes de comenzar, necesitamos instalar algunas bibliotecas necesarias. Primero, necesitamos instalar pyarrowbibliotecas para procesar archivos Parquet. Se puede instalar usando el siguiente comando:

pip install pyarrow

Leer archivos de parquet

El proceso de lectura de archivos Parquet es relativamente sencillo. Primero, necesitamos importar pyarrowla biblioteca y usar pyarrow.parquet.ParquetFilela clase para abrir archivos Parquet. Luego podemos usar read()el método para leer el contenido completo del archivo, o iter_row_groups()el método para leer el archivo línea por línea.

Aquí hay un código de muestra que demuestra cómo leer cada línea de datos en un archivo Parquet:

import pyarrow.parquet as pq

# 打开Parquet文件
parquet_file = pq.ParquetFile('example.parquet')

# 读取整个文件内容
table = parquet_file.read()

# 逐行读取文件
for i in range(parquet_file.num_row_groups):
    row_group = parquet_file.read_row_group(i)
    for j in range(row_group.num_rows):
        row = row_group[j]
        # 处理每一行数据
        print(row)

En el código anterior, primero pq.ParquetFileabrimos el archivo Parquet usando la clase. Luego se puede read()leer todo el contenido del archivo a través del método y devolver un objeto pyarrow.Table. También podemos usar iter_row_groups()métodos para leer el archivo línea por línea. En cada grupo de filas, podemos acceder a los datos de cada fila a través del índice y realizar un procesamiento adicional.



parquet_file = pq.ParquetFile('example.parquet')
# 遍历每个row_group
for i in range(parquet_file.num_row_groups):
	row_group = parquet_file.read_row_group(i)
	row_group = row_group.to_pandas()
	# 遍历每一行
	for idx, row in row_group.iterrows():
        print(row)


Lea el contenido de cada columna del archivo Parquet.

Al leer un archivo Parquet, también podemos acceder a los datos de cada columna. pyarrow.TableEl objeto proporciona métodos para obtener y manipular datos de columnas. Aquí hay un código de muestra que demuestra cómo leer cada columna de datos en un archivo Parquet:

import pyarrow.parquet as pq

# 打开Parquet文件
parquet_file = pq.ParquetFile('example.parquet')

# 读取整个文件内容
table = parquet_file.read()

# 获取列数据
column_data = table.column('column_name')
print(column_data)

# 获取列名称
column_names = table.column_names
print(column_names)

# 获取列类型
column_types = table.schema.types
print(column_types)

En el código anterior, primero pq.ParquetFileabrimos el archivo Parquet usando la clase y read()leemos todo el contenido del archivo a través del método. Luego podemos usar column()métodos para obtener datos para columnas específicas. Los datos de la columna se pueden obtener por nombre de columna o índice. También podemos column_namesobtener el nombre de la columna usando propiedades y schema.typesel tipo de columna usando propiedades.

Ejemplo de código completo

El siguiente es un ejemplo de código completo que demuestra cómo leer el contenido de cada fila y columna en un archivo Parquet:

import pyarrow.parquet as pq

# 打开Parquet文件
parquet_file = pq.ParquetFile('example.parquet')

# 读取整个文件内容
table = parquet_file.read()

# 逐行读取文件
for i in range(parquet_file.num_row_groups):
    row_group = parquet_file.read_row_group(i)
    for j in range(row_group.num_rows):
        row = row_group[j]
        
        # 获取列数据
        column_data = table.column('column_name')
        print(column_data)
        
        # 处理每一行数据
        # TODO: 在这里添加你的处理逻辑

En el código anterior, primero pq.ParquetFileabrimos el archivo Parquet usando una clase y luego usamos read()un método para leer todo el contenido del archivo y devolver un pyarrow.Tableobjeto. A continuación, utilizamos read_row_group()el método para leer el archivo línea por línea y acceder a los datos de cada línea a través del índice. Al procesar cada fila de datos, también podemos usar column()métodos para obtener los datos de cada columna.




Cómo leer el contenido de cada fila y columna en un archivo parquet en el blog técnico_51CTO de python_mob64ca12f18f13

Supongo que te gusta

Origin blog.csdn.net/u013250861/article/details/133045063
Recomendado
Clasificación