2016-09-20 2 views
-2

나는 텍스트 파일을 읽고 파이썬을 사용하여 Riak DB에 데이터를 삽입했습니다.json 데이터의 u '를 제거하십시오

csv_data = csv.reader(file('abc.txt')) 

이 TXT 파일을 두 필드 @@

tempstring = str(row).split('@@') 

으로 분리 riak의 DB에 삽입 포함

new_user = user_buckets.new(FirstUser,data={ 
         'user':FirstUser, 
         'friendlist':FriendList, 
         'is_active':True 
         }) 
      new_user.store() 

나지도

user_buckets.map(""" 
      function(v) { 
       var data = JSON.parse(v.values[0].data); 
       if(data.is_active == true) { 
        return [[v.key, data]]; 
       } 
       return []; 
      } 
     """) 

     for result in user_buckets.run(): 
      print "%s - %s" % (result[0], result[1]) 
를 사용 Riak DB로부터 데이터를 가져

그리고 매트

의 Dinesh - {u'friendlist ': [u'Bakshi'U 'Kishna', u'is_active ': 사실, u'user'u'Dinesh는 '} 여기

내가 어떻게 할 수 출력 형식에서 u를 제거 하시겠습니까? Riak에 삽입하는 동안 문자열로 변환하면 u가 생성됩니까?

편집

I 여기 MapReduce의

function(v) { 
var data = JSON.parse(v.values[0].data); 
var mapped = []; 
var grouping = []; 
if(data.is_active == true) { 
     userValue = data.user; 
     friendListValue = data.friendlist; 
     for (var i=0; i<friendListValue.length; i++){ 
      friendValue = friendListValue[i]; 
      mapped.push([userValue, friendValue, friendListValue]); 
      grouping.push([mapped[i]]); 
     } 
} 
} 

를 사용 그룹화 Riak DB를 페치 1

[u'Dinesh', u'Shiva', [u'Bakshi', u' Kishna', u' Hanks', u' Shiva', u' Bindu', u' Hari', u' Karma', u' Sita']] 
[u'Shiva', u'Dinesh', [u'Hanks', u' Tom', u' Karma', u' Hari', u' Dinesh']] 

와 같은 데이터를 포함하는 다차원 배열

내가 예를 부여하는 경우 상기에서

if(grouping[j][0]==grouping[k][1]&& grouping[j][1]==grouping[k][0]) 

을 사용하여 배열의 값을 비교하고하면 true를 반환해야하지만 오류 준다. 그래서 나는 그것 때문이라고 생각합니다. 이제 배열을 비교하고 대소 문자를 찾는 방법은 무엇입니까? 여기에 내가 실수로 if 조건을 만든 것 같아요.

+0

'u'는 유니 코드를 의미하며 실제 존재하지 않습니다. 데이터를 인쇄 할 때 시각적 인 표시입니다. 그러나'Dinesh'는 JSON이 아니라 파이썬 사전입니다. – roganjosh

+0

Riak에서 가져온 데이터는 위의 예와 같이 형식이 지정됩니다. 나는 값을 비교하기를 원한다. 위와 같은 예제의 경우 true를 반환해야하지만 could not get. – bikas

+0

중복으로 표시된 링크를 따라 다니며 Daniel Roseman의 답변을 읽어 보셨습니까? '참'과 '오류'에는 차이가 있습니다. 오류가 무엇입니까? – roganjosh

답변

1

JSON 데이터가 없으므로 Python 사전의 문자열 표현이 있습니다. json.dumps()으로 명시 적으로 JSON으로 변환해야합니다.

+0

나는 텍스트 파일을 읽고 Riak에 삽입하기 위해 파이썬을 사용하고있다. 여기에 나는 자바 스크립트를 사용하여 데이터를 집계하고 다차원 배열 그룹에 추가했다. 이제 위와 같은 조건을 확인하여 위의 예제와 같이 케이스를 반환합니다. 그래서이 결과를 얻으려면 json.dumps()를 사용할 수 있습니다. – bikas

관련 문제