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

Comment ouvrir Excel avec Python

silencement
silencementoriginal
2019-06-24 10:53:0224635parcourir

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

pour importer la bibliothèque

wb = load_workbook("template.xlsx")

pour ouvrir un fichier xlsx

print(wb.sheetnames)    # ['Sheet1', 'Sheet2', 'Sheet3']

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

sheet = wb.get_sheet_by_name("Sheet3")

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列中的所有值

écrit dans xlsx

créez d'abord une feuille de calcul avec

from openpyxl import Workbook
wb = Workbook()

, puis recherchez

sheet = wb.active

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"

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

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

sheet["E1"].value = "=SUM(A:A)"

Enfin n'oubliez pas de sauvegarder

wb.save(&#39;保存一个新的excel.xlsx&#39;)

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:
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