我目前正在研究如何从python获取数据。该场景是将数据发送到python脚本进行处理,并将输出发送到java代码。java代码应该能够将这些数据打印到html页面。
我的python输出是一个大约150万行的 Dataframe 。
这里是我的java代码
public void addAObjectForm(@RequestParam("Coord1") String Coord1,@RequestParam("Coord2")
String Coord2 ,@RequestParam("Coord3") String Coord3, @RequestParam("Coord4")String Coord4,@RequestParam("datedeb")
String datedeb,@RequestParam("datefin") String datefin,@RequestParam("datevisua") String datevisua) throws IOException {
//System.out.println(Coord1);
try
{
String pathPython = "C:/Users/21622/Documents/workspace-spring-tool-suite-4-4/projet1/test1.py";
String [] cmd = new String[9];
cmd[0] = "python";
cmd[1] = pathPython;
cmd[2] = Coord1;
cmd[3] = Coord2;
cmd[4] = Coord3;
cmd[5] = Coord4;
cmd[6] = datedeb;
cmd[7] = datefin;
cmd[8] = datevisua;
Runtime r = Runtime.getRuntime();
Process p = r.exec(cmd);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while((s=in.readLine()) != null){
System.out.println(s);
// System.out.println(Coord1);
}
}
catch(Exception e){
}
}
还有python代码
coord1=sys.argv[1] // data got from java ans sys package
coord2=sys.argv[2]
coord3=sys.argv[3]
coord4=sys.argv[4]
cord1=float(coord1)
cord2=float(coord2)
cord3=float(coord3)
cord4=float(coord4)
datedeb=sys.argv[5]
datefin=sys.argv[6]
datevisu=sys.argv[7]
Latitude=pd.read_csv('./latitude.csv')
Longitude=pd.read_csv('./longitude.csv')
Latitude=pd.DataFrame({'Latitude':Latitude})
Longitude=pd.DataFrame({'Longitude':Longitude})
Res=pd.concat([Longitude, Latitude,SM],axis=1) // the result that should be returned to java and displayed in thymleaf page
这个
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while((s=in.readLine()) != null){
System.out.println(s);
// System.out.println(Coord1);
什么也不给我。我应该在python代码中添加一些东西吗?
你能给我一些提示来帮助我前进吗
提前谢谢
暂无答案!
目前还没有任何答案,快来回答吧!