【问题标题】:Problems with Converting R Code to Python将 R 代码转换为 Python 的问题
【发布时间】:2020-04-05 07:47:32
【问题描述】:
from pyensae.languages import r2python

print(r2python(rscript, pep8=True))

我在将 filename.R 转换为 pythonfilename.py 时遇到问题,因为这些库对于转换没有用,因为它会生成错误“找不到模块”,即使我使用以下方式安装了该模块:

pip install pyensae

【问题讨论】:

    标签: python r pip code-conversion


    【解决方案1】:

    以下步骤适用于 Python 版本 Python 3.7.6

    1. 升级你的pip
    python -m pip install --upgrade pip
    
    1. 安装pyensae模块
    pip install pyensae
    
    1. 通过执行以下导入检查您的 python 控制台
    from pyensae.languages import r2python
    

    如果你面对

    ModuleNotFoundError: 没有名为“antlr4”的模块

    或面对

    ModuleNotFoundError: 没有名为“builtin”的模块

    然后执行下面的命令

    pip install antlr4-python3-runtime
    

    经过上述步骤,我可以将R脚本转换为python语言

    rscript = """
    nb=function(y=1930){
    debut=1816
    MatDFemale=matrix(D$Female,nrow=111)
    colnames(MatDFemale)=(debut+0):198
    cly=(y-debut+1):111
    deces=diag(MatDFemale[:,cly[cly%in%1:199]])
    return(c(B$Female[B$Year==y],deces))}
    """
    from pyensae.languages import r2python
    print(r2python(rscript, pep8=True))
    
    

    控制台输出

    ANTLR 运行时和生成的代码版本不一致:4.9.1!=4.8 ANTLR 运行时和生成的代码版本不一致:4.9.1!=4.8 from python2r_helper 导入 make_tuple

    def nb(y=1930):
        debut = 1816
        MatDFemale = matrix(D . Female, nrow=111)
        colnames(MatDFemale) .set(range((debut + 0), 198))
        cly = range((y - debut + 1), 111)
        deces = diag(MatDFemale[:, cly[set(cly) & set(range(1, 199))]])
        return make_tuple(B . Female[B . Year == y], deces)
    

    【讨论】:

    • 遇到这个错误!!!! NameError:未定义名称“unicode”。遇到了这个问题,已经通过重启IDE解决了。
    【解决方案2】:

    python 2.7 不再支持 pyensae

    试试pip3 install pyensae

    【讨论】:

    • 现在弹出这个错误` from builtin import unicode ModuleNotFoundError: No module named "builtin'' `
    • 我相信“builtin”模块在Python 3中被重命名为“builtins”。找到运行代码“from builtin import unicode”的文件,并将其更改为:“from builtins import unicode " 来源:github.com/catboost/catboost/issues/953
    • from builtins import unicode ImportError: cannot import name 'unicode' from 'builtins' (unknown location)
    猜你喜欢
    • 2018-11-05
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 2011-01-04
    • 2022-01-14
    相关资源
    最近更新 更多