我刚刚开始使用 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() 解决了它。