Bonjour à tous,
Etant débutant, Je voudrais faire un petit programme qui écrit dans un fichier ods (libreOffice Calc).
J'utilise ezodf comme bibliothèque, je suis sous W7 avec python 3.10.2.
J'ai fait quelque test de lecture qui ce sont bien passés, mais lorsque je veux écrire, j'ai un message d'erreur.
ci-dessous le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Traceback (most recent call last): File "C:\Users\wchan\Dropbox\Geny\ouverture et lecture ods.py", line 22, in <module> sheet[0, 9].set_value("test d'écriture") File "C:\Users\wchan\AppData\Local\Programs\Python\Python310\lib\site-packages\ezodf\table.py", line 51, in __getitem__ return self.get_cell(get_cell_index(key)) File "C:\Users\wchan\AppData\Local\Programs\Python\Python310\lib\site-packages\ezodf\table.py", line 110, in get_cell return wrap(self._cellmatrix.get_cell(pos)) File "C:\Users\wchan\AppData\Local\Programs\Python\Python310\lib\site-packages\ezodf\tablerowcontroller.py", line 40, in get_cell return self._rows[row][col] File "src\lxml\etree.pyx", line 1176, in lxml.etree._Element.__getitem__ IndexError: list index out of range
Si quelqu'un pouvait m'aiguiller sur la solution, je vous en remercie d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 import ezodf mon_fichier = ezodf.opendoc('mon_fichier.ods') sheets = mon_fichier.sheets nom = sheets[0].name print("nom de la 1ere feuille :", nom) count = len(sheets) print("nombre de feuille :",count) rowcount = sheets[0].nrows() print("nombre de lignes de la feuille 1 :", rowcount) colcount = sheets[0].ncols() print("nombre de colonnes de la feuille 1 :", colcount) a1 = sheets[0][0, 0].value print("valeur de la cellule A1 de la feuille 1 :", a1) # test d'écriture sheet = mon_fichier.sheets[0] sheet[0, 9].set_value("test d'écriture") rowcount = sheet.nrows() print("nombre de lignes de la feuille 1 :", rowcount) mon_fichier.save()
Partager