微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Python 编织 RMarkdown 文档时出错

如何解决使用 Python 编织 RMarkdown 文档时出错

我目前正在尝试建立一个几乎完全基于 Python 的 RMarkdown 文档。我有几个这个设置的运行示例,但我最近的工作似乎无法编织,尽管当我运行所有块时代码运行流畅。

错误消息来看,我认为这与我导入 pandas-datareader 有关系,但我不知道为什么会这样,因为我确实安装了最新版本并且我已经检查过我使用的是正确的环境.该错误似乎与前几行有关,我在其中导入了包,因此我将为您节省整个文档。

请参阅下面相关的前几个代码块:

---
title: "ABC"
runningheader: "ABC" # only for pdf output
subtitle: "ABC" # only for html output
output: html_document
author: "Jan Felix"
abstract: "An RMarkdown document with all the relevant python packages."
date: "`r format(Sys.time(),'%B %d,%Y')`"
---
library(reticulate)
library(knitr)
knitr::opts_chunk$set(message = FALSE,echo = FALSE,warning = FALSE,error = FALSE)
import numpy as np
import pandas as pd
pd.options.mode.chained_assignment = None 
import matplotlib.pyplot as plt
import pandas_datareader as pdr
import os
import datetime
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = 'C:/Users/janfe/Anaconda3/Library/plugins/platforms'
np.random.seed(seed=1994)
Quitting from lines 18-27 (Pyfi.Rmd) 
Error in py_call_impl(callable,dots$args,dots$keywords) : 
  ImportError: cannot import name 'StringIO'

Detailed traceback: 
  File "<string>",line 1,in <module>
  File "C:\Users\janfe\Documents\R\win-library\4.0\reticulate\python\rpytools\loader.py",line 24,in _import_hook
    level=level
  File "C:\Users\janfe\ANACON~1\lib\site-packages\pandas_datareader\__init__.py",line 2,in <module>
    from .data import (DataReader,Options,get_components_yahoo,File "C:\Users\janfe\Documents\R\win-library\4.0\reticulate\python\rpytools\loader.py",in _import_hook
    level=level
  File "C:\Users\janfe\ANACON~1\lib\site-packages\pandas_datareader\data.py",line 7,in <module>
    from pandas_datareader.av.forex import AVForexReader
  File "C:\Users\janfe\Documents\R\win-library\4.0\reticulate\python\rpytools\loader.py",in _import_hook
    level=level
  File "C:\Users\janfe\ANACON~1\lib\site-packages\pandas_datareader\av\__init__.py",line 3,in <module>
    from pandas_datareader.base import _BaseReader
  File "C:\Us
Calls: <Anonymous> ... py_capture_output -> force -> <Anonymous> -> py_call_impl

非常感谢任何帮助!如果有任何进一步的信息会有所帮助,请告诉我。

编辑:我刚刚确认,如果我注释掉以下几行并将数据作为 CSV 加载,则不会发生此错误,如下所示:

#import pandas_datareader as pdr 
#fred = pdr.DataReader(symbols,'fred',start,end)
#fred.to_csv("fred.csv")

fred = pd.read_csv("fred.csv",index_col = "DATE")
fred.index = pd.DatetimeIndex(fred.index)

这显然不是我问题的答案,但它缩小了可能性。在要编织的文档中调用 pandas-datareader 似乎不起作用...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。