如何打开在Mac上的Python的Excel实例?

我认为这个问题之前已经被问过,但还不清楚,在原来的问题中,用户提供了excel.exe,这是一个windows可执行文件扩展名,而不是mac。

  • 我需要在MAC上用Python打开新的Excel实例。

我应该导入哪个模块?

我是一个新手,我已经完成学习Python语言,但没有理解文档。

从评论中可以看出,如果您需要使用数据“更新”Excel文件,并且假设您需要使用Excel来完成这项工作,或者您需要更改某些Excel文件以包含新数据,则这并不完全清楚。

通常,在不启动Excel的情况下,“更新”Excel文件会更容易,而且速度更快(更快速)。 然而,更新不是正确的词:你必须阅读文件,并写出新的。 你当然可以覆盖原始文件,所以它看起来像一个更新。

对于“更新”,如果您使用的文件是.xls文件(Excel 2003) ,则可以使用三重xlrdxlwtxlutils 。 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做一些简单的事情就像打开一个特定的文档一样,这并不难。 看看NSWorkspaceopen文档,看看如何做任何你想要的。

如果你真的想要控制 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')