我知道这个问题之前已经被问过,但是不太清楚,在原始问题中,用户提供了excel.exe,这是Windows可执行扩展名,而不是Mac。
- 我需要在MAC上用Python打开新的Excel实例。
我应该导入哪个模块?
我是一个新手,我已经学习了Python语言,但是阅读文档有困难。
我知道这个问题之前已经被问过,但是不太清楚,在原始问题中,用户提供了excel.exe,这是Windows可执行扩展名,而不是Mac。
我应该导入哪个模块?
我是一个新手,我已经学习了Python语言,但是阅读文档有困难。
import Foundation
ws = Foundation.NSWorkspace.sharedWorkspace()
ws.launchApplication_('Microsoft Excel')
import subprocess
subprocess.check_call(['open', '-a', 'Microsoft Excel'])
NSWorkspace
或open
文档,然后按照你想要做的内容进行操作。ScriptingBridge
,或使用双语言方法(编写AppleScripts并通过NSAppleScript
执行它们 - 在Python中,你可以通过PyObjC
实现)。但是,我可能会使用appscript
(从这里获取代码)。尽管它已经被原始创建者放弃了,而且只被稀疏地维护,最终可能会停止与某些未来的OS X版本一起工作,但它仍然比官方解决方案好多了。import appscript
excel = appscript.app('Microsoft Excel')
excel.workbooks[1].column[2].row[2].formula.set('=A2+1')
['open', '-a', 'Microsoft Excel']
,它进入第一个参数 args
。其他参数都使用默认值。 (请注意,在3.x中,其他参数都是关键字参数,这意味着除非您按名称传递它们,否则您无法传递多个参数。) - abarnertappscript
,因为这意味着我可以使用所有漂亮的Python东西,如列表推导和stldib。 - abarnertexcel.workbooks[1].cells.columns[2].rows[2].formula.set('=A2+1')
,请注意cells
和columns/rows
中的复数形式。或者可以使用cells['B2']
。 - Felix Zumsteinxlrd
, xlwt
, xlutils
,如果您使用的文件是.xls
文件(Excel 2003)。 我记得xlwt不支持写入 .xlsx
(但是xlrd
可以读取这些文件)。.xlsx
文件,我使用openpyxl
,.xls
-> xlwt
,.xlsx
-> openpyxl
)。 - Anthon