2010-11-19 21 views
7

J'ai besoin de modifier un classeur Excel en utilisant python. Y at-il un moyen de le faire sans lire dans le classeur, éditer ce que je veux et l'écrire? c'est-à-dire est-ce que je peux le faire à la volée car j'ai seulement besoin d'éditer quelques valeurs par feuille. J'ai regardé pyexcelerator, xlrd et xlwt, mais ils ne semblent soutenir (dans la mesure où je peux travailler) la lecture et l'écriture ne pas éditer. Je ne peux pas utiliser pywin32 car j'utilise Linux.Modification de feuilles Excel avec Python

Des suggestions de bibliothèques ou des façons particulières de faire les choses?

+0

Est-ce un xls ou un fichier xlsx? –

+0

c'est un fichier xls –

Répondre

2

xlutils dispose d'un module de copie qui peut être interseting pour vous

+0

qui fait l'affaire. Merci! –

9

Tout d'abord, quelle version d'Excel? Excel2007 + utilisait un format de fichier XML, tandis qu'Excel2003- utilisait un format binaire propriétaire ... donc les outils pour lire et écrire ceux-ci fonctionnent de manière totalement différente.

Si vous recherchez des fichiers xlsx plus récents, jetez un coup d'œil au projet openpyxl d'Eric 'Gazoni. Le code peut être trouvé sur bitbucket. La force motrice derrière cela est la capacité de lire et d'écrire des fichiers xlsx à partir de Python au sein d'une seule bibliothèque.

Même alors, il lit tout le classeur, mais vous permet de modifier les cellules avant de les réécrire. Tout simplement: la structure d'un fichier Excel ne se prête pas à une édition facile ... il ne s'agit pas simplement de changer quelques caractères.

+0

c'est un fichier xls que j'ai besoin de modifier. –

0

Je l'ai utilisé pyexcelerator sur linux pour éditer et créer des fichiers xls