begin process at 2012 05 25 05:09:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Base de données

 > 

Général

 > 

phython - Excel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

phython - Excel

mercredi 3 février 2010 à 17:17:09 | phython - Excel

jeromecubi

bonjour j'ai un script python qui va me copier de données dans plusieurs fichiers XLS identiques dans un dossier pour les regrouper dans un autre fichier XLS unique, mon souhait serait de modifier ce code pour qu'il copie les celules les une apres les autres A1 A2 A3 A4,....puis B1 B2 B3....pour les coller dans mon fichier unique(dans des feuilles diferentes). mon exemple prends une seule colonne brute sans detailler par cellules ou par feuilles merci de votre aide !!

Code Python :
from win32com.client import Dispatch, constants
import os

class Utility(object):

    @staticmethod
    def xlSmartOpen(app, filePath, fileName):
        wbRet = None
        for wb in app.Workbooks:
            if wb.Name == fileName:
                wbRet = wb
                break
        else:
            if filePath=='': # mean that I am opening Result File
                if os.path.exists(fileName):wbRet = app.Workbooks.Open(fileName)
                else:
                    wbRet=app.Workbooks.Add()
                    wbRet.SaveAs(fileName)
            else:
                wbRet = app.Workbooks.Open(filePath+fileName)
        return wbRet
        

class ManipExcelFiles(object):
    def __init__(self, folder, xlSim , xlResult):
        # Next implement that if file name = * we should take all the files in folder
        self.excel = Dispatch("Excel.Application")
        self.excel.Visible = False
        # I open Result File
        self.resultWb = Utility.xlSmartOpen(self.excel, '', xlResult)

        # I loop over input file
        if xlSim=='*.xls':
            dirList=os.listdir(folder)
        else:
            dirList = [xlSim]
        ColumnIndic = 1            
        for filename in dirList:
            self.InputFileWb = Utility.xlSmartOpen(self.excel, folder, filename)
            self.InputFileWs = self.InputFileWb.Worksheets('Inputs and results')
            self.InputFileWs.Activate()
            self.InputFileWs.Cells(1,1).Select()
            self.InputFileWs.Range(self.InputFileWs.Cells(1,1),self.InputFileWs.Cells(1547,6)).Select()
            self.excel.Selection.Copy()
            self.resultWb.Worksheets[0].Activate()
            self.resultWb.Worksheets[0].Cells(1,ColumnIndic).Select()
            self.excel.Selection.PasteSpecial( Paste=constants.xlPasteValues)
            #self.excel.Selection.PasteSpecial( Paste=constants.xlPasteFormats)
            self.excel.CutCopyMode = False
            self.InputFileWb.Close(SaveChanges=False)
            ColumnIndic = ColumnIndic + 6
            
    def shut(self):
        self.excel.CutCopyMode = False
        self.resultWb.Close(SaveChanges=True)
        del self.excel
        
    
testfile = ManipExcelFiles('C:/essai/OUTPUT_1/','*.xls','C:/Essai/PlanPension.xls')
testfile.shut()


Cette discussion est classée dans : excel, filename, self, wbret, inputfilews


Répondre à ce message

Sujets en rapport avec ce message

mise en forme excel [ par rodrigos ] Bonjour tout le monde,Je suis en train de créer un script qui me permet d'importer un fichier texte dans excel. Jusque là pas de problèmes.Mais ce qu wxWindow::RegisterHotKey [ par DoudouBidou ] Bonjour à tous(au passage Merci pour ce site, depuis le temps que je l'attends...)J'utilise wxPython pour réaliser mon interface graphique mais je n'a heklp serverSocket [ par Harvester_ ] Voila j'ai utliser un script du siteC'est un server socket qui marchait tres bien au debut(source)#!C:\Python23\python.exeimport SocketServerimport sy Socket : charger ip depuis fichier [ par Shinji ] Bonjour @ ttes et @ ts, voici mon pb:  j'essaye de faire une petite app client/serveur et j'aimerais pouvoir enregister l'ip/port du serveur dans un IDLE : une mauvaise plaisanterie ? [ par steede ] Bonjour, je débute la programmation (enfin je m'y remets...et je suis autodidacte) et j'ai d'énormes problèmes  avec Python à savoir :   - toutes les Comment lancer son application !!!!!!!!!! [ par steede ] Voila, j'ai écrit (pompé) une malheureuse app (extraite d'un exemple "simple" de wx) et j'aimerais la faire fonctionner !!!!ci dessous la ligne de la je plante python toutes les 3 lignes [ par steede ] bonjour, Sauriez vous me dire pourquoi le fichier suivant à l'execution : from os import * def openfich():    filename = raw_input('Enter file name: ' Il me manque une librairie [ par cipher16 ] Bonjour ... je viens de commencer à coder en python ... et il semblerai qu'il me manque une librairie ayant un rapport avec internet ... J'ai cherché Comment passer de VISUAL BASIC EXCEL à PYTHON? [ par HCD ] J'ai un code écrit en VISUAL BASIC sur EXCEL sur le célèbre problème posé par EULER du périple du cavalier sur un jeu d'échec et du dénombrement de to base de donnée [ par Thomeux ] Bonjour,Je débute en python, je programmais jusqu'ici en vb.J'ai un programme en vb qui utilise les données d'un tableau double entrées Excel.L'ennui,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales