[xlrd][csv] Problème de conversion
Bonjour, j'ai encore un soucis dans l'utilisation de xlrd. Incompréhensible pour moi....
Je souhaite réaliser la conversion d'un fichier XL au format CSV, simplement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| from xlrd import *
import csv, StringIO, cStringIO
fstr = cStringIO.StringIO()
#
b = open_workbook('fichierexcel1.xls')
s=b.sheet_by_index(0)
bc = open('fichierexcel1.csv','w')
bcw = csv.writer(bc,csv.excel)
for row in range(s.nrows):
this_row = []
for col in range(s.ncols):
this_row.append(s.cell_value(row,col))
bcw.writerow(this_row) |
Ca marche super bien sauf que il "oublie" quelques valeurs à la fin. Même pire, il écrit seulement une partie de this_row ! ???
Du coup, j'ai cherché s'il n'y avait pas de fautes dans mon tableur Excel mais RAS.
J'ai ensuite supprimé dans mon tableur excel de départ les 3 premières lignes, juste pour voir si cela changeait des choses. Là, il écrit quelques caractères en plus de this_row mais il omet encore les valeurs suivantes.
En fait c'est comme si le CSV était limité en nombre de caractère. Quand je fait un print de chaque ligne, il m'affiche bien TOUTES les lignes et en omets aucunes...
Format du tableau : 52000*28.
Les trois premières lignes sont vides.