抱歉,我知道这个问题已被多次询问,但我真的找不到可以解决问题的解决方案。
我在python中使用pyspark模块来读取文件:
[('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')]
但是,数据如下:
[('aybh_zw', 'jyaq'),
('锟斤拷锟斤拷锟斤拷', '锟节讹拷锟界东路锟襟康硷拷园锟脚匡拷锟'),
('030', 'FF5E84D38B5B48CF97F26B5E6DAB4DD8')]
由于某些stackoverflow格式化问题,我省略了第二个元组中的第二个元素。
由于这仍然是不正确的,我接着跟着并得到:
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文件的示例如下:
-- Counter
type CounterMsg
= Increment
| Decrement
type alias CounterModel =
Int
updateCounter : CounterMsg -> CounterModel -> ( CounterModel, Cmd msg )
updateCounter msg model =
case msg of
Increment ->
( model + 1, Cmd.none )
Decrement ->
( model - 1, Cmd.none )
-- Todo
type TodoMsg
= AddTodo String
type alias TodoModel =
List String
updateTodo : TodoMsg -> TodoModel -> ( TodoModel, Cmd msg )
updateTodo msg model =
case msg of
AddTodo str ->
( str :: model, Cmd.none )
-- unified
type alias Model =
{ counter : CounterModel
, todos : TodoModel
}
type Msg
= Counter CounterMsg
| Todo TodoMsg
initModel =
{ counter = 0, todos = [] }
update : Msg -> Model -> ( Model, Cmd msg )
update msg model =
case Debug.log "message" msg of
Counter countermsg ->
let
( newmodel, cmd ) =
updateCounter countermsg model.counter
in
( { model | counter = newmodel }, cmd )
-- etc...
_ ->
( model, Cmd.none )