使用实时Python数据更新Excel电子表格

时间:2019-08-09 13:24:26

标签: python excel openpyxl real-time-updates

我对Python还是很陌生,主要目标是精确学习该语言,以使某些过程实现自动化并使用实时数据更新/填充excel电子表格。有没有办法(例如通过openpyxl)使用通过python程序包(例如pandas或通过BeautifulSoup进行网页抓取)提取的数据来更新特定单元格?

我已经有必要的代码来提取我在Python中的项目所需的数据系列,但是完全停留在如何将这些数据链接到excel上。

import pandas as pd
import pandas_datareader.data as web
import datetime as dt

start = dt.datetime(2000,1,1)
end = dt.datetime.today()

tickers = [
    "PYPL",
    "BABA",
    "SAP"
]

    df = web.DataReader (tickers, 'yahoo', start, end)

print (df.tail(365)['Adj Close'])

3 个答案:

答案 0 :(得分:0)

Pandas具有将数据框导出到Excel的方法。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_excel.html

filename = "output.xlsx"
df.to_excel(filename)

答案 1 :(得分:0)

一种选择是按计划运行python脚本,并输出到.csv或Excel可以链接到的另一种格式。该选项允许在执行python脚本时更新数据。

设置:

  1. 将您的数据框输出为csv /数据库或其他Excel可读格式
  2. 将您的python文件设置为按计划运行(通过计划或通过延迟循环运行)
  3. 创建从Excel到python输出的文件/数据库的数据连接
  4. 基于Excel中的表构建数据透视表
  5. 在Excel中刷新数据连接/数据透视表以获取新数据

答案 2 :(得分:-1)

一种简单的解决方案是使用xlwings

import xlwings as xw
..

xw.Book(file_path).sheets['Sheet_name'].range('A1').value = df 

这将通过COM将您的df打印到excel文件的单元格A1中-这意味着它实际上是在打开文件时写入值。

希望这会有所帮助