1. Introduction
Pour manipuler les documents Word, Excel et TXT en Python, nous utilisons les bibliothèques python-docx et openpyxl. Voici comment les installer :
pip install python-docx
pip install openpyxl
python-docx permet la lecture et l'écriture de documents Word, tandis qu'openpyxl gère les fichiers Excel 2010 (xlsx, xlsm, xltx, xltm).
2. Traitement des fichires Excel
Importation de la bibliothèque
import openpyxl
Création de l'objet classeur
mon_classeur = openpyxl.load_workbook('donnees.xlsx')
# Accéder à la feuille par son nom : ma_feuille = mon_classeur["Feuil1"]
ma_feuille = mon_classeur.active # Feuille active par défaut
Lecture de données
valeur_cellule = ma_feuille.cell(row=1, column=2).value
Écriture de données
ma_feuille.cell(row=1, column=2).value = "Nouvelle valeur"
Ajout d'une feuille
nouvelle_feuille = mon_classeur.create_sheet(title="Feuille supplémentaire")
Fermeture du classeur
mon_classeur.close()
Personnnalisation des styles
from openpyxl.styles import Font, Alignment, Border, Side
style_police = Font(name="Arial", size=10)
style_alignement = Alignment(horizontal='left', vertical='top', wrap_text=True)
cote = Side(style="dashed")
style_bordure = Border(top=cote, bottom=cote, left=cote, right=cote)
# Appliquer à une cellule
ligne, colonne = 2, 3
ma_feuille.cell(ligne, colonne).font = style_police
ma_feuille.cell(ligne, colonne).alignment = style_alignement
ma_feuille.cell(ligne, colonne).border = style_bordure
3. Manipulation des documents Word
from docx import Document
# Charger un document Word
chemin_fichier = "rapport.docx"
document_word = Document(chemin_fichier)
# Parcourir le contenu
for element in document_word.element.body:
if element.tag.endswith('}p'): # Paragraphe
texte = element.text
print("Paragraphe détecté:", texte)
elif element.tag.endswith('}tbl'): # Tableau
print("Tableau trouvé")
# Logique supplémentaire pour les tableaux
Traitement des paragraphes
def analyser_paragraphe(para):
if para.style and 'Titre' in para.style.name:
print(f"Titre: {para.text}")
else:
print(f"Texte: {para.text}")
Traitement des tableaux
def extraire_donnees_tableau(tableau):
for ligne in tableau.rows:
for cellule in ligne.cells:
print(cellule.text)
4. Gestion des fichiers texte
Les fichiers TXT, JSON, INI sont traités de manière similaire.
Ouverture et lecture
chemin_txt = "donnees.txt"
with open(chemin_txt, 'r', encoding='utf-8') as fichier:
contenu = fichier.read()
print(contenu)
Écriture dans un ficheir
with open("sortie.txt", 'w', encoding='utf-8') as fichier_ecriture:
fichier_ecriture.write("Ligne de texte ajoutée\n")
Lecture ligne par ligne
with open("config.ini", 'r', encoding='utf-8') as config:
for ligne in config:
print(ligne.strip())
Utilisez toujours le bloc with pour garantir la fermeture automatique du fichier, même en cas d'erreur.