Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Formats de fichiers populaires

APERTO-NOTA

Parquet

Lire et écrire un fichier Parquet sans pandas peut se faire avec la bibliothèque pyarrow, qui fournit des outils pour manipuler directement des tables de données. Ce format est binaire, compressé et typé, ce qui le rend plus performant que le CSV pour le stockage et l’analyse de données.

Exemple de lecture

import pyarrow.parquet as pq

table = pq.read_table('exemple.parquet')
print(table.to_pydict())

Exemple d’écriture

import pyarrow as pa
import pyarrow.parquet as pq

# Création d'une table
data = {
    'Nom': ['Alice', 'Bob'],
    'Âge': [30, 25]
}
table = pa.table(data)

# Écriture dans un fichier Parquet
pq.write_table(table, 'exemple.parquet')

Exercice

Solution to Exercise 1 #
import pyarrow as pa
import pyarrow.parquet as pq

# 1. Lecture du fichier Parquet
table = pq.read_table('users.parquet')
data = table.to_pydict()

# 2. Affichage des utilisateurs
print("Utilisateurs existants :")
for i in range(len(data['id'])):
    print({key: data[key][i] for key in data})

# 3. Ajout d'un nouvel utilisateur
data['id'].append(4)
data['name'].append('David')
data['email'].append('david@example.com')

# 4. Bonus : tri par nom
sorted_indices = sorted(range(len(data['name'])), key=lambda i: data['name'][i])
data = {key: [data[key][i] for i in sorted_indices] for key in data}

# 5. Sauvegarde dans le fichier Parquet
new_table = pa.table(data)
pq.write_table(new_table, 'users.parquet')

print("\nNouvel utilisateur ajouté et fichier mis à jour.")