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

Bây giờ tôi muốn mở tệp bcForecasting.csv được tạo trong Excel. Làm thế nào để làm điều đó trong Python?Cách mở tệp csv trong Microsoft Excel bằng Python?

+1

tôi biết làm thế nào để mở một tập tin csv trong Excel, và làm thế nào để mở một tập tin csv trong Python, nhưng nó có nghĩa là gì để mở một tập tin csv "trong Microsoft Excel trong Python"? Bạn có muốn Python nói với Excel (khởi động nó nếu nó không chạy) để mở trang tính không? [Ngoài ra: bạn không đóng tệp. Thường thì nên sử dụng câu lệnh 'with'.] – DSM

+1

có giúp ích gì không? http://stackoverflow.com/questions/247724/how-can-i-launch-an-instance-of-an-application-using-python – Paolo

+0

Xin chào DSM, có thực sự tôi "muốn Python nói với Excel (bắt đầu nó lên nếu nó không chạy) để mở trang tính ". Trên thực tế tôi đóng tập tin ở đây tôi đã không cung cấp mã đầy đủ. Cảm ơn – curiousguy

Trả lời

4

Thông thường trên Windows, .csv loại tệp được định cấu hình để mở bằng Excel. Trong trường hợp này bạn chỉ có thể làm:

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

trong trường hợp nó không hoạt động, hãy thử chỉ đường dẫn đầy đủ của ứng dụng Excel:

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

Hãy coi chừng việc mở CSV trong Excel có thể giảm số 0 đầu từ các trường số như mã zip. Nhập bằng 'Dữ liệu> Từ Văn bản' để tránh điều này. – Noumenon

Các vấn đề liên quan