我在Eclipse中结合了java和python代码,当我想执行包含pandas模块的python脚本时,我从java class中调用了null
值。否则,如果我不使用熊猫模块,但只是简单的Python脚本一切正常。我认为PyDev
解释器正确,并且所有python模块的路径配置正确,因为我没有得到任何导入错误,并且当我在代码中覆盖鼠标时,我可以获取模块信息。在Eclipse中使用python pandas模块火星
所有模块位于/usr/local/lib/python2.7/site-packages。
请检查java class
,python script
和PyDev
配置:
package test4;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
public class test4 {
public static void main(String a[]){
try{
ProcessBuilder pb = new ProcessBuilder("/usr/local/bin/python2.7","solinor_final.py");
Process p = pb.start();
System.out.println("Hello");
String line = null;
StringBuilder sb = new StringBuilder();
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while((line=in.readLine())!=null) {
sb.append(line);
System.out.println(line);
}
} finally {
in.close();
}
System.out.println("value is : "+sb);
}catch(Exception e){System.out.println(e);}
}
}
的Python:
import sys
sys.path.append("/usr/local/bin")
sys.path.append("/usr/bin/")
sys.path.append('/Users/quuppa/Documents/workspace/test4/report1.csv')
import pandas as pd
def main():
import python_class as so
print "Hello inside"
data = pd.read_csv("report1.csv",sep=",",header=None)
data = data.rename(columns={0:'Merchant name',1:'Business ID',2:'Main merchant ID',3:'Report type',4:'Report search date',5:'Report period',\
6:'Outlet name',7:'Address',8:'Number of transactions',9:'Value of transactions',10:'Commission',11:'Chargebacks and adjustments',12:'Settlement value'})
data = data.drop([data.index[0]])
bd = so.Solinor(data)
total_amount = bd.totalAmount()
print total_amount
if __name__ == "__main__":
main()
这些是具有和不包括大熊猫模块的输出:
Hello
value is :
Hello
Hello inside
value is : Hello inside
配置图像:
你有任何建议,这可能是在运行与大熊猫模块的代码有问题吗?
谢谢!
谢谢法比奥!我做了你所说的一切,现在PyDev报告'AttributeError:'模块'对象没有属性'Integral'',作为'noduy模块'的一部分'numbers module',当我运行python时非常奇怪。 – Beltrif