用Python自动化处理Excel

8
在我们公司中,我们在开发和生产环境中使用Linux。但是我们有一台运行Windows和Excel的机器,因为我们使用第三方应用程序Excel插件来获取金融市场数据到该机器。该插件提供了一些函数(就像Excel函数一样)来将这些数据获取到本地机器,然后发送回MySql数据库。我们还开发了一些VBA脚本来自动化任务,但仍不满意结果。 我正在考虑使用Python来完成所有这些工作,但在入门之前,我需要找到一个能够做到以下几点的Python包:
  1. 使用Python操纵Excel(带其插件),并使用其功能而无需打开Excel?
  2. 如果我需要打开Excel,我需要自动化执行每天的脚本任务,或在特定时间执行(市场数据需要在特定时间提供)
感谢您的建议。
2个回答

12

你需要安装Python Win32扩展 - http://sourceforge.net/projects/pywin32/

(现已迁移到GitHub:https://github.com/mhammond/pywin32)

之后,你可以使用COM。

from win32com.client import Dispatch
excel = Dispatch('Excel.Application')
wb = excel.Workbooks.Open(r'c:\path\to\file.xlsx')
ws = wb.Sheets('My Sheet')
# do other stuff, just like VBA
wb.Close()
excel.Quit()

您可以将脚本放置在Windows任务计划程序上,以便在需要的时候运行。


你能看一下我的新问题吗?https://dev59.com/rnDYa4cB1Zd3GeqPEMUL - nam

2
作为替代方案,您可以考虑使用openpyxl。
import openpyxl
wb= openpyxl.Workbook()
ws = wb.get_active_sheet()
ws.title = 'My Title'
wb.save('C:\\Development\\Python\\alpha.xlsx')

这是我正在阅读的书中的一章。

https://automatetheboringstuff.com/chapter12/

好运


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接