0

我刚刚开始使用 java,我尝试了 chaquopy 以便在我的 android 应用程序中运行一些脚本。问题是当我调用我需要的函数时,它返回一个值(user_input),但我不知道如何在 Android 中获取该值。我查看了 PyObject 的方法,但没有找到返回所需整数的方法(df['y'][1])。

def realtime(user_input):

    #Libraries
    import datetime
    import requests
    import pandas as pd
    import numpy as np
    import pandas_datareader as web

    #Get the data
    currentDT = datetime.datetime.now()
    end=str(currentDT.year)+'-'+str(currentDT.month)+'-'+str(currentDT.day)
    start=str(currentDT.year)+'-'+str(currentDT.month-1)+'-'+str(currentDT.day)

    df = web.DataReader(str(user_input), data_source='yahoo',start=start,end=end)
    df = pd.DataFrame(data=df['Close'])
    df.columns=['y']
    df['ds']=df.index

    return(df['y'][1])

这是我在java中调用的函数。

public int getrtasset() {
        Python py = Python.getInstance();
        PyObject pyfile = py.getModule("getAssetValue");
        PyObject va = pyfile.callAttr("realtime", getMtitulo());

        return va
    }

这是java函数。“getAssetValue”是.py的名称。我想返回 python 函数的整数,但在 PyObject va 中找不到获取该返回值的方法。

提前致谢。

已解决:这是一个双倍.. PyObject.toDouble() 解决了它。

4

0 回答 0