Comment ouvrir Excel avec Python

silencement
Libérer: 2019-06-24 10:53:02
original
24654 Les gens l'ont consulté

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal