无法识别Pyspark/python中文字符
对不起,我知道这个问题已经被问了很多次,但我真的找不到一个解决我问题的方法 我正在使用python中的pyspark模块读取一个文件:无法识别Pyspark/python中文字符,python,apache-spark,pyspark,encode,python-unicode,Python,Apache Spark,Pyspark,Encode,Python Unicode,对不起,我知道这个问题已经被问了很多次,但我真的找不到一个解决我问题的方法 我正在使用python中的pyspark模块读取一个文件: data = sc.textFile("data/text_data.csv") 经过一些数据清理,我得到了两列,都是汉字。但是,前三条记录如下所示,其中第一个元组中的元素是列名 [('aybh_zw', 'jyaq'), ('������', '�ڶ��綫·�\U000ffd7c�\u0530�ſ�������������'), ('030', 'FF5E8
data = sc.textFile("data/text_data.csv")
经过一些数据清理,我得到了两列,都是汉字。但是,前三条记录如下所示,其中第一个元组中的元素是列名
[('aybh_zw', 'jyaq'),
('������', '�ڶ��綫·�\U000ffd7c�\u0530�ſ�������������'),
('030', 'FF5E84D38B5B48CF97F26B5E6DAB4DD8')]
接下来我做了这个转变:
second_cleaned_data = first_cleaned_data.map(lambda s: (s[0].encode('UTF-8), s[1].encode('UTF-8'))
然而,数据如下:
[(b'aybh_zw', b'jyaq'),
(b'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd',
(b'030', b'FF5E84D38B5B48CF97F26B5E6DAB4DD8')]
其中,由于一些stackoverflow格式问题,我省略了第二个元组中的第二个元素
由于这仍然是错误的,因此我执行了以下操作并获得:
[('aybh_zw', 'jyaq'),
('锟斤拷锟斤拷锟斤拷', '锟节讹拷锟界东路锟襟康硷拷园锟脚匡拷锟'),
('030', 'FF5E84D38B5B48CF97F26B5E6DAB4DD8')]
然而,这是不正确的,因为这些字符不是他们应该的
有人能帮我吗?我真的不知道该怎么办。
多谢各位
csv文件的示例如下:
recordkey ajbh ajjf ajlx ajlx_zw ajly ajly_zw ajmc ajzt
QTIwMTUwNjAwMDFfMzcxNDAwMDE A2015060001 0 2 刑事 1 110指令 张俊杰被盗窃案 202 已立案 212000002 盗窃罪 盗窃罪 371499 经济 2.02E+13 东风路电业局宿舍 6/13/15 7:08 19B2569194BB4471E0530390300A15A6
您的CSV文件使用什么编码?你能发布一个示例CSV文件进行测试吗?@PeterGibson我刚刚添加了上面的前两行,由于格式问题,我删除了一些列名。另外,我刚刚检查了这个CSV文件的编码是否为“charset=unknown-8bit”@PeterGibson我刚刚将该文件转换为utf-8编码,并且成功了。谢谢