2013-08-11 28 views
5
base_path = os.path.dirname(os.path.abspath(__file__))   
_csvFilename = os.path.join(base_path, "bcForecasting.csv") 
_csvFile = open (_csvFilename, 'wb') 
_csvFile = csv.writer(_csvFile, quoting=csv.QUOTE_ALL) 

_Header = self.makeIntoList (self.root.tss.series() [0].getAllTimes(), self.originalTimesteps + _futurePeriods) 
_csvFile.writerow (_Header) 

Ora voglio aprire il file bcForecasting.csv creato in Excel. Come farlo in Python?Come aprire un file csv in Microsoft Excel in Python?

+1

so come aprire un file CSV in Excel, e come aprire un file CSV in Python, ma cosa significa aprire un file CSV "in Microsoft Excel in Python"? Vuoi che Python comunichi a Excel (avviarlo se non è in esecuzione) per aprire il foglio? [A parte: non hai chiuso il file. Di solito è meglio usare l'istruzione 'with'.] – DSM

+1

aiuta? http://stackoverflow.com/questions/247724/how-can-i-launch-an-instance-of-an-application-using-python – Paolo

+0

Ciao DSM, sì in realtà "voglio che Python dica a Excel (avviarlo se non è in esecuzione) per aprire il foglio ". In realtà sto chiudendo il file qui non ho fornito il codice completo. Grazie – curiousguy

risposta

4

In genere su Windows il tipo di file .csv è configurato per essere aperto da Excel. In questo caso si può solo fare:

from subprocess import Popen 
p = Popen('filename.csv', shell=True) 

Nel caso in cui non funziona, provare indicando il percorso completo dell'applicazione Excel:

subprocess.Popen(r'C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE stack.csv') 
+2

Attenzione che l'apertura di un CSV in Excel può far cadere gli 0 iniziali dai campi numerici come i codici postali. Importa con 'Dati> Da testo' per evitare questo. – Noumenon