使用Python编写和修改现有的工作簿

我是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 (this is where I get the commerror) sht.range('M6').value = df1 

您的问题是您的目录中引用的OneDrive程序无法访问。 这可能是由许多事情造成的。 不正确的凭据,OneDriveclosures或更简单的OneDrive不允许从程序,而不是从用户访问。 尝试下载您想要读取和写入的文件,并将其保存到计算机上存储的目录中,并将程序指向新目录,然后查看会发生什么情况。

您收到的错误消息元组表示您尝试连接到的RPC服务器不可用。 如果RPC服务器脱机或者如果您的程序无法连接到RPC服务器所在的networking,则可能会发生此故障。

 The RPC server is unavailable. 

RPC代表远程过程调用。 RPC服务器通常是另一台计算机,位于您的networking或您连接的networking中的其他位置。 通过RPC接口,您可以向服务器发送带有参数的function请求,服务器将为您执行这些请求并返回适当的答案。 它在你的机器上模仿常规的函数调用,区别在于这些函数调用是在远程RPC服务器上执行的。

从你对问题的解释中所写的内容来看,我假设你并不意味着联系远程服务器来完成必要的任务。 我会build议删除或replace试图连接到远程服务的代码,在您的机器本地工作的代码。

这一行指向一个目录结构,它指向一个名为OneDrive的目录。 这是一个远程目录吗? 尝试把你的传播在其他地方放在一个文件夹,你可以通过运行你的程序的用户访问,而不是远程目录。

 #connects to workbook I want to modify wb = xw.Book (r'C:/Users/vince/OneDrive/Documents/Python/Project/spreadsheet.xlsm') 

以下几行也意味着一个连接到互联网,只是字的含义。 我不熟悉你正在使用的库,所以这也可能只是一些奇怪的function命名。 我在这里所说的是,我不舒服。

 #import income statement, balance sheet, and cash flow of AAPL fd = gm.FinancialsDownloader() fd_frames = fd.download('AAPL')