Maison développement back-end Tutoriel Python Comment ouvrir Excel avec Python

Comment ouvrir Excel avec Python

Jun 24, 2019 am 10:53 AM

Comment ouvrir Excel avec Python

Récemment, j'ai vu plusieurs personnes du groupe poser des questions sur xlwt et wlrd. Comment dois-je le dire si Office 2007 vient de sortir et que tout le monde n'est pas habitué à utiliser des fichiers xlsx. , c'est compréhensible. Cela fait 10 ans. Même si je n'ai pas évolué vers Office 2016, j'utilise toujours Office 2003. Cela n'a pas de sens. Quelqu'un peut-il utiliser xlsx pour l'enregistrer au format xls ? —— Faire délibérément quelques étapes supplémentaires. Quel est le but ? Pour la compatibilité ? Compatible avec l'ancien office2003 ? De plus, comme nous utilisons Python pour faire fonctionner Excel, nous devons toujours enregistrer le fichier manuellement. Est-ce une idée folle ?

Donc, je pense toujours que nous devrions abandonner le xls et nous transformer en xlsx. C'est pourquoi cet article est écrit : xlwt et wlrd ne peuvent lire et écrire que des fichiers xls, mais ne peuvent pas utiliser de fichiers xlsx.

Solution : openpyxl. Il s'agit d'une bibliothèque très simple qui peut être utilisée en quelques minutes. L'installation est très simple. pip install openpyxl peut se faire en une seule étape. Je parlerai principalement du fonctionnement d'Excel. Bien sûr, avec toutes les absurdités mentionnées ci-dessus, les étudiants peuvent probablement deviner qu'openpyxl ne peut gérer que les fichiers xlsx mais pas les fichiers xls.

1. Concepts de base

Dans openpyxl, trois concepts sont principalement utilisés : Classeurs, Feuilles et Cellules. Workbook est une feuille de calcul Excel ; Sheet est une page de tableau dans la feuille de calcul ; Cell est une cellule simple. openpyxl s'articule autour de ces trois concepts. Indépendamment de la lecture et de l'écriture, il s'agit de « trois choses » : ouvrir le classeur, localiser la feuille et utiliser la cellule. Ci-dessous, nous présentons plusieurs méthodes courantes respectivement pour la lecture et l'écriture.

2. Lire xlsx

Afin de faire l'expérience, j'ai préparé à l'avance un document Excel, qui comporte trois pages : Feuille1, Feuille2 et Feuille3. le contenu suivant est renseigné :

Utilisez d'abord

from openpyxl import load_workbook
Copier après la connexion

pour importer la bibliothèque

wb = load_workbook("template.xlsx")
Copier après la connexion

pour ouvrir un fichier xlsx

print(wb.sheetnames)    # ['Sheet1', 'Sheet2', 'Sheet3']
Copier après la connexion

Vous pouvez voir quelles pages de feuille se trouvent dans l'Excel ouvert

sheet = wb.get_sheet_by_name("Sheet3")
Copier après la connexion

Après avoir lu la page de feuille spécifiée, la feuille devient magique et contient le contenu souhaité. tout ici. Par exemple :

print(sheet["C"])    # (<Cell Sheet3.C1>, <Cell Sheet3.C2>, <Cell Sheet3.C3>, <Cell Sheet3.C4>, <Cell Sheet3.C5>, <Cell Sheet3.C6>, <Cell Sheet3.C7>, <Cell Sheet3.C8>, <Cell Sheet3.C9>, <Cell Sheet3.C10>)      <-第C列
print(sheet["4"])    # (<Cell Sheet3.A4>, <Cell Sheet3.B4>, <Cell Sheet3.C4>, <Cell Sheet3.D4>, <Cell Sheet3.E4>)     <-第4行
print(sheet["C4"].value)    # c4     <-第C4格的值
print(sheet.max_row)    # 10     <-最大行数
print(sheet.max_column)    # 5     <-最大列数
for i in sheet["C"]:
  print(i.value, end=" ")    # c1 c2 c3 c4 c5 c6 c7 c8 c9 c10     <-C列中的所有值
Copier après la connexion

écrit dans xlsx

créez d'abord une feuille de calcul avec

from openpyxl import Workbook
wb = Workbook()
Copier après la connexion

, puis recherchez

sheet = wb.active
Copier après la connexion

Feuille active. La page de feuille par défaut d'une feuille Excel vide s'appelle Feuille. Si vous souhaitez modifier le nom, vous pouvez directement attribuer une valeur à l'attribut titre.

sheet.title = "New Shit"
Copier après la connexion

Cet attribut est lisible et inscriptible. Bien entendu, cela ne s'applique qu'à la page active actuelle. Pour les autres pages, vous pouvez utiliser create_sheet et remove_sheet pour les ajouter et les supprimer.

Il est relativement simple d'écrire du contenu dans la page de la feuille, tout comme le lire ci-dessus,

sheet[&#39;C3&#39;] = &#39;Hello world!&#39;
for i in range(10):
  sheet["A%d" % (i+1)].value = i + 1
Copier après la connexion

Nous pouvons également effectuer des opérations sophistiquées, comme écrire des formules :

sheet["E1"].value = "=SUM(A:A)"
Copier après la connexion

Enfin n'oubliez pas de sauvegarder

wb.save(&#39;保存一个新的excel.xlsx&#39;)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Apr 01, 2025 pm 11:18 PM

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

See all articles