如何打开在Mac上的Python的Excel实例?
我认为这个问题之前已经被问过,但还不清楚,在原来的问题中,用户提供了excel.exe,这是一个windows可执行文件扩展名,而不是mac。
- 我需要在MAC上用Python打开新的Excel实例。
我应该导入哪个模块?
我是一个新手,我已经完成学习Python语言,但没有理解文档。
从评论中可以看出,如果您需要使用数据“更新”Excel文件,并且假设您需要使用Excel来完成这项工作,或者您需要更改某些Excel文件以包含新数据,则这并不完全清楚。
通常,在不启动Excel的情况下,“更新”Excel文件会更容易,而且速度更快(更快速)。 然而,更新不是正确的词:你必须阅读文件,并写出新的。 你当然可以覆盖原始文件,所以它看起来像一个更新。
对于“更新”,如果您使用的文件是.xls
文件(Excel 2003) ,则可以使用三重xlrd
, xlwt
, xlutils
。 IIRC xlwt不支持用于写入的.xlsx
(但是xlrd
可以读取这些文件)。
对于.xlsx
文件,我使用了openpyxl
,
这两个都足够写数据,公式和基本格式的东西。
如果您有现有的Excel文件作为“模板”使用,如果您使用上述软件包之一进行读/写操作,将会丢失信息, 则必须在Excel中更新文件。 我不得不这样做,因为我没有简单的方法来包含Visual Basicmacros和客户端指定的非常具体的格式。 有时候,只需在视觉上设置电子表格,然后以编程方式填充单元格就更简单了。 但是这一切都是在Windows上完成的。
如果你真的必须在Mac上驱动Excel,因为你需要使用现有的文件作为模板,我build议你看看Applescript。 或者,如果是选项,请查看OpenOffice / LibreOffice PyUno接口。
如果您只需启动Excel,最好的方法就是使用LaunchServices来完成。
如果您有PyObjC
(如果您使用的是Apple在10.6及更高版本中预安装的Python,则执行此操作;否则,您可能需要安装它):
import Foundation ws = Foundation.NSWorkspace.sharedWorkspace() ws.launchApplication_('Microsoft Excel')
如果不是,您可以随时使用open
工具:
import subprocess subprocess.check_call(['open', '-a', 'Microsoft Excel'])
无论哪种方式,就像用户双击Finder中的应用程序图标一样,您可以有效地启动Excel。
如果你想让Excel做一些简单的事情就像打开一个特定的文档一样,这并不难。 看看NSWorkspace
或open
文档,看看如何做任何你想要的。
如果你真的想要控制 Excel,比如打开一个文档,进行一些修改并保存,你就可以使用它的AppleScript界面。
苹果公司推荐的方法是通过ScriptingBridge
,或者使用双语言的方法(编写AppleScript并通过NSAppleScript
执行它们 – 在Python中,通过PyObjC
)。 不过,我可能会使用appscript
(从这里获取代码)。 尽pipe它被最初的创作者抛弃了,而且只是维护得很less,而且最终可能会停止使用一些未来的OS X版本,但它仍然比官方的解决scheme好得多。
这里有一个示例(未经testing,因为我没有在这里的Excel):
import appscript excel = appscript.app('Microsoft Excel') excel.workbooks[1].column[2].row[2].formula.set('=A2+1')