使用 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。这可能是由许多原因引起的。凭据不正确,OneDrive 已关闭,或者更简单的是,OneDrive 不允许从程序而不是用户进行访问。尝试下载您要读取和写入的文件并将其保存到存储在计算机上的目录中,然后将程序指向新目录,然后查看会发生什么。

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

The RPC server is unavailable.

RPC 代表 远程过程调用。RPC 服务器通常是驻留在网络中其他位置或连接到的网络的另一台计算机。通过 RPC 接口,您可以将带有参数的函数请求发送到服务器,服务器将为您执行这些请求并返回适当的答案。它模拟计算机上的常规函数调用,不同之处在于这些函数调用在远程 RPC 服务器上执行。

根据您在问题解释中所写的内容,我假设您根本不打算联系远程服务器来执行必要的任务。我建议删除或替换尝试通过计算机上本地工作的代码连接到远程服务的代码。

此行指向引用名为 OneDrive 的目录的目录结构。这是远程目录吗?尝试将您的传播放在您所在的文件夹中的其他位置,该文件夹可由运行您的程序的用户访问,而不是远程目录。

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

以下几行也暗示了与互联网的连接,只是通过单词的含义。我不熟悉您正在使用的库,因此这也可能是一些奇怪的函数命名。我在这里要说的是,我不是舒尔。

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

最新更新