Python:Excel正在以实时股票价格进行交易。 如何每10分钟附加价格给csv?

这是我的Python脚本:

from xlrd import open_workbook from xlrd import xldate_as_tuple book = open_workbook('C:/Users/.......Constantquotes.xlsx') sheet0 = book.sheet_by_index(0) #Initializes the first row print sheet0.row(0) #Prints the first row date_value = xldate_as_tuple(sheet0.cell(0,1).value,book.datemode) print date_value #Prints the date cell # Next step: make the a list for the stock price # Next step: append the list to a csv 

所以我把价格变成了excel,并且每秒更新一次。 我想要做的是让python脚本每10分钟读一次excel表格(我将使用cronjob来激活python脚本),然后将最新的价格附加到一个csv文件中,该文件只包含该股票的价格。 问题是,当我运行python脚本时,它给了我最后一次保存excel文件的价格和date,而不是CURRENT价格。 我试图设置选项 – >保存 – >保存 – >保存autorecover信息 – > 1分钟,但是这并没有帮助我。 因此,为了改变这个问题,我该如何做到这一点,以便每次xlrd读入.xls文件(以便python脚本可以取出当前的价格和date)我得到当前的价格和date,而不是价格和date上次保存.xlxs文件的时间?

理想情况下,我希望能够离开计算机几天,并回到人口稠密的.csv

或者也许有更好的解决scheme来填充.csv?

我认为这是使用VBA可以更好处理的任务之一。 Python不能访问数据,因为它没有被保存 – 它在内存中,但是你告诉Python从磁盘读取。 我认为你有两个合理的select之一。

  1. 有一个VBAmacros填充csv。
  2. 有一个VBAmacros定期保存xls。

那么,这应该相当于Excel而不是Python。 在您的VBA中,您可以使用以下内容:

  1. 在你的VBA代码的开始。

    Application.DisplayAlerts = False

  2. 当你想保存你的工作簿。

    ThisWorkbook.Save

使用步骤1的原因是为了确保在保存工作簿之前不要求手动确认,以防远离计算机。 我build议不要在每个价格更新上保存工作簿。 也许你可以使用定时器来定期保存它。