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