python, lire et écrire des fichiers xls
2012-10-15
Si l’on a des fichiers Excel que l’on souhaite lire ou écrire, on peut utiliser les paquets xlrd (reader) et xlwt (writer).
Voici un petit exemple de ce que l’on peut faire :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import xlrd
import codecs
import os
files = [u"FormatBDD_XXX_backend.xls", u"FormatBDD_XXXdata.xls", u"FormatBDD_XXX_desc.xls", u"FormatBDD_XXX_dm.xls", u"FormatBDD_dimension.xls"]
for f in files:
book = xlrd.open_workbook(f)
for sheet_name in book.sheet_names():
base = f.replace('FormatBDD_', '')
base = base.replace('.xls', '')
sheet = book.sheet_by_name(sheet_name)
headers = sheet.row_values(0)
for rownum in range(1, sheet.nrows):
row = sheet.row_values(rownum)
nom = row[headers.index(u'Nom')]
description = row[headers.index(u'Description')]
try:
commentaire = u" Commentaires: " + row[headers.index(u'Commentaires')].replace('"', '\"')
except ValueError:
commentaire = u''
description = description + commentaire
print u'replace into descriptions (b, t, c, d) values ("%s", "%s", "%s", "%s");' % (base, sheet_name, nom.strip(), description.strip().replace('"', '\\"'))
La page suivante propose des exemples clairs et rapides pour bien commencer : http://www.dev-explorer.com/articles/excel-spreadsheets-and-python