Bonjour, j'ai besoin de votre aide. j'ai des données dans un fichier excel contenant plusieurs feuilles.
je vous présente un exemple de format d’écriture des données dans une feuille. (Nom, pluie journalière, année sont sur la même ligne - et N°Station, X ,Y, Z, Autorité sont sur la deuxième ligne - et en fin jour sept oct ... aout sur la meme ligne )
Nom: xxxxx Pluie journalière Année hydrologique: 1996/1997
N° Station: 236 X: 123444 Y: 12345 Z: 230 Autorité:
Jour Septembre Octobre Novembre Décembre Janvier Février Mars Avril Mai Juin Juillet Août
1 0 0 0 0 1 0 0 0 0 0
2 0 0 0 0 16 0 0 0 0 0
3 0 0 0 0 10 0 0 0 16 0
4 0 0 0 16 6 0 0 0 1 0
5 2 0 0 25 5 0 0 0 0
6 0 0 0 7 21 0 14 0 0
7 0 0 0 16 3 0 0 0 0
8 0 0 0 28 15 0 0 0 0
9 0 0 0 17 10 0 0 0 0
Dans un fichier excel j'ai au moins cinq feuilles présentant le même format données.
Je tente d'extraire les données feuille par feuille pour ensuite recuperer par exemple les données du mois de septembre.
J'ai tenté de convertir le fichier Excel avec un script python utilisant le COM dont voici un exemple, mais malheureusement la conversion n'est pas effectué pour le fichier Excel contenant plusieurs feuilles - pour un fichier contenant une feuille le script marche :
# -*- coding: cp1252 -*-
import os
import win32com.client
import csv
os.chdir('C:/Documents and Settings/utile/Bureau/fichier bureau/Exercice') #CHANGE LE REPERTOIRE DE TRAVAIL
filename = 'Pluie' #NOM DU FICHIER SUR LEQUEL ON VA TRAVAILLE
filepath= os.path.abspath(filename) # chemin vers le fichier
excel=win32com.client.Dispatch('Excel.Application') # ouvre excel
excel.visible=True # affichage de excel à l'ecran
workbook=excel.Workbooks.open(filepath) # ouvre la feuille contenant les données
xlCSVWindows= 0x17
workbook.SaveAs(Filename=filepath+".csv",FileFormat=xlCSVWindows) # enregistre le fichier sous format csv
workbook.Close(SaveChanges=False) #ferme la feuille sans enregistrement
excel.Quit()# quitte excel
J’espérai trouver une aide pour arriver à bout de ce problème.
merci
Partager