我正在使用rpy2在python中使用R,特别是为了使用XLConnect包。原因是我想读取受密码保护的Excel文件。当我使用Linux时,其他软件包在R和python中都受到限制。
因此,我现在已经使用XLConnect成功加载了excel文件。
但是,每次我尝试刷新Django项目时,它不会加载数据,而是返回java.lang.NullPointerException
。它在第一次加载时起作用,然后在刷新页面时,错误立即弹出。但是,我将其保留几分钟没有刷新并再次刷新页面后,它便可以正常工作。该错误仅发生于立即刷新页面。
它是如此令人沮丧,我认为该错误是由于读取单元的错误(XLConnect的onErrorCell)引起的,但是,这只是警告。
引起问题的行是将loadWorkBook
分配给变量。
import rpy2.robjects as rob
from rpy2.robjects.packages import importrxlc = importr('XLConnect')
xlc_2 = importr('XLConnectJars')
string = """
wb <- loadWorkbook("my_file_path_here", create=FALSE, password="ddd")
"""
powerpack = SignatureTranslatedAnonymousPackage(string, "powerpack")
我希望r代码能照常重新加载并读取excel文件。