在macOS上通过Python打开Excel

时间:2018-05-16 07:33:12

标签: python excel macos subprocess xlwt

因此,我编写了一个程序,从某些网站提取数据,然后将所述数据导出到临时excel文件(如果尚未存在,则在给定路径上创建)。以下是主要功能的代码。我遇到问题的部分是从book = xlwt.Workbook()开始,但我想包含所有内容以提供完整的情况。我在Windows 10计算机上编写了程序,一切正常。但是,我需要将其更改为在mac上工作。我知道使用mac我至少要进入browser.close()部分,但在此之后,我不知道是否有任何工作。我不确定我是否首先写入Excel文件,但主要是我无法弄清楚如何找到excel文件的路径并启动文件本身。任何人都可以帮我弄清楚如何做同样的事情我在下面做但只是为了麦克风而不是??

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])

1 个答案:

答案 0 :(得分:0)

如果您对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])