2013-08-11 7 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) 

Teraz chcę otworzyć utworzony plik bcForecasting.csv w programie Excel. Jak to zrobić w Pythonie?Jak otworzyć plik csv w programie Microsoft Excel w języku Python?

+1

wiem, jak otworzyć plik CSV w programie Excel, a jak otworzyć plik csv w Pythonie, ale co to znaczy otworzyć plik csv "w programie Microsoft Excel w języku Python"? Czy chcesz, aby Python informował program Excel (uruchamiając go, jeśli nie jest uruchomiony), aby otworzyć arkusz? [Poza tym: nie zamknąłeś pliku. Zwykle lepszym pomysłem jest użycie instrukcji 'with'.] – DSM

+1

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

+0

Witaj DSM, tak naprawdę "chcę, aby Python mówił programowi Excel (uruchamianie go jeśli nie działa), aby otworzyć arkusz ". Właściwie to zamykam plik tutaj, nie podałem pełnego kodu. Dzięki – curiousguy

Odpowiedz

4

Zazwyczaj w systemie Windows typ pliku .csv jest skonfigurowany do otwierania przez program Excel. W tym przypadku można po prostu zrobić:

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

w przypadku to nie działa, spróbuj wskazując pełną ścieżkę dostępu do aplikacji Excel:

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

Pamiętaj, że otwarcie pliku CSV w programie Excel może spowodować opuszczenie początkowych 0 z pól numerycznych, takich jak kody pocztowe. Importuj za pomocą 'Dane> z tekstu', aby tego uniknąć. – Noumenon