tongchenkeji 发表于:2023-8-9 9:56:150次点击 已关注取消关注 关注 私信 请问在机器学习PAI的CsvSourceBatchOp() 这个组件怎么对有中文的数据读入?[阿里云机器学习PAI] 暂停朗读为您朗读 请问在机器学习PAI的CsvSourceBatchOp() 这个组件怎么对有中文的数据读入,要设置什么参数吗? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 机器学习PAI# 人工智能平台 PAI1410# 机器学习深度学习1219
算精通AM 2023-11-28 3:08:05 1 在机器学习PAI的CsvSourceBatchOp读取CSV文件时,对有中文数据需要注意编码问题: CSV文件编码要与程序读取的编码一致。如果CSV文件是UTF-8编码保存的,程序读取的时候也要指定UTF-8: pythonCopyCsvSourceBatchOp(file_path=file, field_delimiter=”,”, encoding=”utf-8″)如果CSV文件编码不同,需要先转换编码。例如CSV文件是gbk编码,可以使用codecs先解码为unicode: pythonCopyimport 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表示: pythonCopyfor record in stream: print(record[0].decode(“utf-8”))指定正确的locale环境。设置需要支持中文的locale,如zh_CN.UTF-8。
在机器学习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。
没的吧,utf8就行—此回答来自钉群“Alink开源–用户群”