请问在机器学习PAI的CsvSourceBatchOp() 这个组件怎么对有中文的数据读入,要设置什么参数吗?
在机器学习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。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。