使用 xlwings 写入现有 Excel 工作簿
Posted
技术标签:
【中文标题】使用 xlwings 写入现有 Excel 工作簿【英文标题】:Writing to an existing Excel Workbook using xlwings 【发布时间】:2017-11-09 12:22:49 【问题描述】:我是 Python 的新手,正在从事一个可以使用一些帮助的项目。因此,我正在尝试修改现有的 Excel 工作簿以比较库存数据。幸运的是,有一个在线程序可以检索我需要的所有数据,并且我已经成功地能够提取数据并将数据写入一个新的 Excel 文件。但是,目标是提取数据并将其放入现有的 excel 文件中。此外,我需要覆盖现有文件中的单元格值。我相信 xlwings 能够做到这一点,并且我认为我的代码在写入轨道上,但是我遇到了意外错误。我得到的错误是:
com_error: (-2147023174, 'The RPC server is unavailable.', None, None)
我想知道是否有人知道为什么会出现此错误?另外,有人知道如何解决吗?它可以修复吗?我的代码错了吗?任何帮助或指导表示赞赏。谢谢。
import good_morning as gm
import pandas as pd
import xlwings as xw
#import income statement, balance sheet, and cash flow of AAPL
fd = gm.FinancialsDownloader()
fd_frames = fd.download('AAPL')
#Creates a DataFrame for only the balance sheet
df1 = pd.DataFrame(list(fd_frames.values())[0])
#connects to workbook I want to modify
wb = xw.Book(r'C:/Users/vince/OneDrive/Documents/Python/Project/spreadsheet.xlsm')
#sheet I would like to modify
sht = wb.sheets[1]
#modifies & overwrites values in my spreadsheet
sht.range('M6').value = df1
【问题讨论】:
Writing and modifying an existing workbook using Python的可能重复 【参考方案1】:https://github.com/xlwings/xlwings/issues/633 中讨论了此问题。它显然与 Excel 故障有关。该 github 页面上提供了一种解决方法。此外,xlwings 文档提到如果工作簿已经在 Excel 中打开,您可能会收到错误(不清楚是否是这个错误)。
【讨论】:
以上是关于使用 xlwings 写入现有 Excel 工作簿的主要内容,如果未能解决你的问题,请参考以下文章