Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在macOS上通过Python打开Excel_Python_Excel_Macos_Subprocess_Xlwt - Fatal编程技术网

在macOS上通过Python打开Excel

在macOS上通过Python打开Excel,python,excel,macos,subprocess,xlwt,Python,Excel,Macos,Subprocess,Xlwt,因此,我编写了一个程序,从某些网站提取数据,然后将这些数据导出到一个临时excel文件(如果不存在,则在给定路径下创建)。下面是主要功能的代码。我遇到问题的部分是从book=xlwt.Workbook()开始的,但我想包括所有内容以提供完整的情况。我在Windows10电脑上编写了这个程序,一切正常。但是,我需要将其更改为在mac上工作。我知道,使用mac电脑,我至少会接触到浏览器.close()部分,但在那之后,我不知道是否有任何东西在工作。首先,我不确定我是否正在写入Excel文件,但主要是

因此,我编写了一个程序,从某些网站提取数据,然后将这些数据导出到一个临时excel文件(如果不存在,则在给定路径下创建)。下面是主要功能的代码。我遇到问题的部分是从
book=xlwt.Workbook()
开始的,但我想包括所有内容以提供完整的情况。我在Windows10电脑上编写了这个程序,一切正常。但是,我需要将其更改为在mac上工作。我知道,使用mac电脑,我至少会接触到
浏览器.close()
部分,但在那之后,我不知道是否有任何东西在工作。首先,我不确定我是否正在写入Excel文件,但主要是我在确定如何找到Excel文件的路径和启动文件本身时遇到了困难。有谁能帮我弄明白如何做我在下面做的同样的事情,只是为了一台mac机

def main():
    now = datetime.datetime.now()
    option = selenium.webdriver.ChromeOptions()
    browser = selenium.webdriver.Chrome()

    keyword = None
    urlList = None

    # two different lists of data I scrapped
    wi = webInfo(browser, keyword)
    mi = mobileInfo(browser, keyword)

    urlList = wi+mi

    browser.close()

    book = xlwt.Workbook()
    sheet1 = book.add_sheet('sheet1')

    for i in range(len(urlList)):
        for j in range(len(urlList[i])):
            sheet1.write(i, j, urlList[i][j])

    name = "random.xls"
    book.save(name)
    book.save(TemporaryFile())

    excelFile = "C:/Users/me/PycharmProjects/test/random.xls"
    excelEx = r"C:/Program Files/Microsoft Office/root/Office16/EXCEL"

    subprocess.Popen([excelEx, excelFile])

如果您对macOS的访问受限,您可以使用
os
模块处理mac中的路径

例如,假设您希望将输出excel文件放入与python文件相同的目录中,然后

import os

os.chdir(os.getcwd())
name = "random.xls"
book.save(name)

excelFile = os.path.abspath('random.xls')

# just try without these lines first and open file manually
excelEx = "You need to show the excel executable at this point"
subprocess.Popen([excelEx, excelFile])

您需要考虑代码的哪些部分依赖于操作系统,例如,您的路径似乎不是macOS的有效路径。@BcK这是我的想法,但我不知道macOS路径的格式。我尝试过一些不同的方法,但我没有发现任何一种方法真的有效,所以我想知道是否还有其他问题,这不是借口。继续学习mac如何处理其文件系统和路径约定。依我看,如果你自己写过这段代码,那么在macOS上运行这段代码应该很容易。@BcK这就是我一直想做的,但我不明白这就是我在这里寻求帮助的原因。我对macbook的访问非常有限,所以我试图在PC上学习所有这些,这就是为什么我发现这些看似不“可原谅”的任务很困难的原因。