首页 > 解决方案 > 如何从另一个 Jupyter 笔记本文件中获取 R 代码?

问题描述

我是使用带有R kernel的 Jupyter notebook 的新手。

我有 R 代码写在两个文件Settings.ipynbMain_data.ipynb.

我的Settings.ipynb文件有很多细节。我在下面显示示例详细信息

Schema = "dist"
resultsSchema = "results"
sourceName = "hos"
dbms = "postgresql" #Should be "sql server", "oracle", "postgresql" or "redshift"

user <- "hos"
pw <- "hos"
server <- "localhost/hos"
port <- "9763"

我想SettingsMain_data代码文件中获取源文件。

当我使用R studio时,很容易,因为我只使用下面的

 source('Settings.R')

但是现在在Main_data带有 R 内核的 Jupyter Notebook 中,当我编写下面的代码时

 source('Settings.R')  # settings file is in same directory as main_data file

我收到以下错误

Error in source("Settings.R"): Settings.R:2:11: unexpected '['
1: {
2:  "cells": [
             ^
Traceback:

1. source("Settings.R")

当我尝试以下操作时,我收到另一个错误,如下所示

source('Settings.ipynb')

Error in source("Settings.ipynb"): Settings.ipynb:2:11: unexpected '['
1: {
2:  "cells": [
             ^
Traceback:

1. source("Settings.ipynb")

我如何获取一个R code以及保存它的正确方法是什么(.ipynb.R在 jupyter 笔记本(使用 R 内核)中格式化)。你能帮我解决这个问题吗?

更新截图

强文本

标签: rjupyter-notebookjupyterjupyter-labjupyter-irkernel

解决方案


.INI我们可以在同一工作目录(或不同)中创建一个文件并用于ConfigParser解析所有元素。该.INI文件将是

设置.INI

[settings-info]
schema = dist
resultsSchema = results
sourceName = hos
dbms = postgresql

user = hos
pw = hos
server = localhost/hos

然后,我们初始化一个解析器对象,从文件中读取内容。我们可以有多个子标题(这里只有'settings-info')并使用[[或提取组件$

library(ConfigParser)
props <- ConfigParser$new()
props <- props$read("Settings.INI")$data
props[["settings-info"]]$schema

来自 Jupyter 笔记本

在此处输入图像描述

'Settings.INI' 文件

在此处输入图像描述


推荐阅读