Comment lire le contenu de chaque ligne et colonne dans un fichier parquet en python

introduction

Le parquet est un format de stockage en colonnes principalement utilisé pour le traitement de données à grande échelle. Il présente un taux de compression efficace et des performances de lecture rapides, ce qui le rend utile lorsque vous travaillez avec de grands ensembles de données. Python fournit une variété de méthodes pour lire et traiter les fichiers Parquet. Cet article explique comment utiliser Python pour lire le contenu de chaque ligne et colonne d'un fichier Parquet.

Préparation

Avant de commencer, nous devons installer certaines bibliothèques nécessaires. Tout d’abord, nous devons installer pyarrowdes bibliothèques pour traiter les fichiers Parquet. Il peut être installé à l'aide de la commande suivante :

pip install pyarrow

Lire les dossiers Parquet

Le processus de lecture des fichiers Parquet est relativement simple. Tout d’abord, nous devons importer pyarrowla bibliothèque et utiliser pyarrow.parquet.ParquetFilela classe pour ouvrir les fichiers Parquet. On peut alors utiliser read()la méthode pour lire l'intégralité du contenu du fichier, ou iter_row_groups()la méthode pour lire le fichier ligne par ligne.

Voici un exemple de code qui montre comment lire chaque ligne de données dans un fichier 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)

Dans le code ci-dessus, nous pq.ParquetFileouvrons d'abord le fichier Parquet en utilisant la classe. L'intégralité du contenu du fichier peut ensuite read()être lue via la méthode et un objet renvoyé pyarrow.Table. On peut également utiliser iter_row_groups()des méthodes pour lire le fichier ligne par ligne. Dans chaque groupe de lignes, nous pouvons accéder aux données de chaque ligne via l'index et effectuer un traitement ultérieur.



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)


Lire le contenu de chaque colonne du dossier Parquet

Lors de la lecture d'un fichier Parquet, on peut également accéder aux données de chaque colonne. pyarrow.TableL'objet fournit des méthodes pour obtenir et manipuler les données de colonne. Voici un exemple de code montrant comment lire chaque colonne de données dans un fichier 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)

Dans le code ci-dessus, nous pq.ParquetFileouvrons d'abord le fichier Parquet à l'aide de la classe et read()lisons l'intégralité du contenu du fichier via la méthode. Nous pouvons ensuite utiliser column()des méthodes pour obtenir des données pour les colonnes spécifiées. Les données de colonne peuvent être obtenues par nom de colonne ou index. Nous pouvons également column_namesobtenir le nom de la colonne à l'aide des propriétés et schema.typesle type de colonne à l'aide des propriétés.

Exemple de code complet

Voici un exemple de code complet qui montre comment lire le contenu de chaque ligne et colonne dans un fichier 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: 在这里添加你的处理逻辑

Dans le code ci-dessus, nous pq.ParquetFileouvrons d'abord le fichier Parquet à l'aide d'une classe, puis utilisons read()une méthode pour lire l'intégralité du contenu du fichier et renvoyer un pyarrow.Tableobjet. Ensuite, nous utilisons read_row_group()la méthode pour lire le fichier ligne par ligne et accéder aux données de chaque ligne via l'index. Lors du traitement de chaque ligne de données, nous pouvons également utiliser column()des méthodes pour obtenir les données de chaque colonne.




Comment lire le contenu de chaque ligne et colonne dans un fichier parquet dans le blog technique de python_mob64ca12f18f13_51CTO blog

Je suppose que tu aimes

Origine blog.csdn.net/u013250861/article/details/133045063
conseillé
Classement