【问题标题】:Use Python to launch Excel file使用 Python 启动 Excel 文件
【发布时间】:2016-06-26 17:30:23
【问题描述】:

当我尝试 os.system("open " + 'myfile.xlsx')
我得到输出'0'

同样,尝试
os.system("start excel.exe myfilepath")
给出结果32512

我已经导入了操作系统和系统,我在mac上。我该如何更改它才能真正启动该 excel 文件?出于好奇,它打印出来的数字是什么意思?

谢谢!

【问题讨论】:

  • 这些是退出代码。 0 表示成功,任何其他数字表示失败。通常,程序的man 页面会告诉您失败代码列表及其含义。

标签: python excel macos launch


【解决方案1】:

就这两行

import os
os.system("start EXCEL.EXE file.xlsx")

前提是 file.xlsx 在当前目录中。

【讨论】:

  • 一个调整:对于带有嵌入空格的文件名,用单引号将整个参数括起来,并在文件名周围加上双引号(例如 ' start EXCEL.EXE " C:/temp/new file.csv " ' . 额外的空格不会造成伤害,并且可以防止在命令运行时“合并”参数。顺便说一句,在 Python 3.x(可能还有 2.x)上,您应该使用“/”作为文件分隔符,而不是“\ " - 即使在 Windows 上。Python 会进行转换,因此您不需要在路径中使用双反斜杠(有必要防止第一个字符被解释为控制字符,例如 "\n" = 换行符)。跨度>
  • 感谢 user1459519 的添加,这很有帮助。
  • 值得注意的是os.system('start excel.exe file.xlsx') 将从您的文档文件夹中打开具有相同名称的文件,os.system('start "excel.exe" "file.xlsx"')(注意额外的引号)将从与代码所在的文件夹相同的文件夹中打开文件。在我这端测试我我不确定这是否会发生,但可能是一个重要的区别。
【解决方案2】:

如果您只想打开 excel 应用程序,您可以使用 subprocess:

import subprocess
subprocess.check_call(['open', '-a', 'Microsoft Excel'])

您也可以使用 os 并打开特定文件:

import os
os.system("open -a 'path/Microsoft Excel.app' 'path/file.xlsx'")

另一方面,如果您想在 python 中打开一个 excel 文件并对其进行修改,则可以使用许多包作为 xlsxwriterxlutilsopenpyxl 我更喜欢后者。

另外注意,如果你在 mac 上,excel 应用程序不是 .exe

【讨论】:

  • a 参数有什么作用?谢谢。
  • 请注意! xlsxwriter 可以覆盖您的 Excel 文件,而 OpenPyxl 不会。最好的方法是将文件复制到另一个文件夹中。
  • 在 mac 中,os.system("open -a 'Microsoft Excel' 'path/file.xlsx'") 也可以:subprocess.check_call(['open', '-a', 'Microsoft Excel','path/file.xlsx'])
【解决方案3】:

我不了解 Mac OS,但如果是 Windows 操作系统,并且如果 Microsoft Windows 安装正确,那么可以考虑使用:

import os
os.system('start "excel" "C:\\path\\to\\myfile.xlsx"')

double-quotationexcelC:\\path\\to\\myfile.xlsx 很重要(其中C 仅表示文件系统中分区的字母,可以替换为D,E ..等), single-quotation 需要 os.system() 中的整个字符串。

【讨论】:

    【解决方案4】:

    在 Windows 10 上,这对我有用:

    import os
    full_path_to_file = "C:\blah\blah\filename.xlsx"
    os.system(full_path_to_file)
    

    只要您有权打开文件,在命令提示符中复制粘贴文件的任何完整路径(或将其传递给 os.system())似乎都可以工作。 我想这仅在选择 Excel 作为 .xlsx 扩展名的默认应用程序时才有效。

    【讨论】:

      【解决方案5】:

      如:How to open an Excel file with Python to display its content?

      import os
      file = "C:\\Documents\\file.xlsx"
      os.startfile(file)
      

      它使用默认应用程序打开文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-12
        • 1970-01-01
        • 2022-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多