나는 텍스트 파일을 읽고 파이썬을 사용하여 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 조건을 만든 것 같아요.
'u'는 유니 코드를 의미하며 실제 존재하지 않습니다. 데이터를 인쇄 할 때 시각적 인 표시입니다. 그러나'Dinesh'는 JSON이 아니라 파이썬 사전입니다. – roganjosh
Riak에서 가져온 데이터는 위의 예와 같이 형식이 지정됩니다. 나는 값을 비교하기를 원한다. 위와 같은 예제의 경우 true를 반환해야하지만 could not get. – bikas
중복으로 표시된 링크를 따라 다니며 Daniel Roseman의 답변을 읽어 보셨습니까? '참'과 '오류'에는 차이가 있습니다. 오류가 무엇입니까? – roganjosh