请问在机器学习PAI的CsvSourceBatchOp() 这个组件怎么对有中文的数据读入?[阿里云机器学习PAI]

请问在机器学习PAI的CsvSourceBatchOp() 这个组件怎么对有中文的数据读入,要设置什么参数吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 在机器学习PAI的CsvSourceBatchOp读取CSV文件时,对有中文数据需要注意编码问题:

    CSV文件编码要与程序读取的编码一致。
    如果CSV文件是UTF-8编码保存的,程序读取的时候也要指定UTF-8:

    python
    Copy
    CsvSourceBatchOp(file_path=file, field_delimiter=”,”, encoding=”utf-8″)
    如果CSV文件编码不同,需要先转换编码。
    例如CSV文件是gbk编码,可以使用codecs先解码为unicode:

    python
    Copy
    import codecs

    with codecs.open(file, “r”, encoding=”gbk”) as f:
    csv_str = f.read()

    csv_str = csv_str.encode(“utf-8”)

    CsvSourceBatchOp(file_content=csv_str, field_delimiter=”,”)
    使用Unicode字符串处理中文。
    读取后的每个字段使用Unicode表示:

    python
    Copy
    for record in stream:
    print(record[0].decode(“utf-8”))
    指定正确的locale环境。
    设置需要支持中文的locale,如zh_CN.UTF-8。

  2. 没的吧,utf8就行—此回答来自钉群“Alink开源–用户群”