使用DecisionTree的UnicodeEncodeError

时间:2017-03-16 08:06:31

标签: python scikit-learn

我的代码在

之下
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.realexpayments.hpp.sdk.RealexHpp;
import com.realexpayments.hpp.sdk.domain.HppResponse;

@Controller
public class PaymentController {

@RequestMapping(value = "/enrolment/confirmation", method = RequestMethod.GET,  consumes = "text/plain")
public String process(@RequestBody String responseJson, Model model) throws Exception {

    RealexHpp realexHpp = new RealexHpp("secret");
    HppResponse hppResponse = realexHpp.responseFromJson(responseJson);
    // responseJson will be the Java variable containing the JSON response string
    String result = hppResponse.getResult();
    String message = hppResponse.getMessage();
    String authCode = hppResponse.getAuthCode();

    System.out.println("Result: "+result);
    System.out.println("Message: "+message);
    System.out.println("AuthCode: "+authCode);

    model.addAttribute("result", result);
    model.addAttribute("message", message);
    model.addAttribute("authcode", authCode);

    return "enrolment/confirmation";

    }
}

但它引发了一个错误:

  

UnicodeEncodeError:'decimal'编解码器无法对字符进行编码   位置0-2:无效的十进制Unicode字符串

     

data2.xlsx包含一些中文,数据已被清理。

2 个答案:

答案 0 :(得分:0)

您的文件中可能存在中文字符问题。

抛出的其他错误(ValueError)可能意味着可能存在NaNinfinity或太大的数字

如果相同的代码在你老板的电脑上运行正常,可能是因为你的机器内存较少,不同版本的python,不同版本的scikit-learn,甚至其他东西。

答案 1 :(得分:0)

我不确定这是否可以解决您的问题,因为我无法重现您的问题,但您可能会尝试:

import sys
reload(sys)
sys.setdefaultencoding('utf8') 

我希望它可以帮到你。