我已经阅读了一个文本文件,并使用python将数据插入到Riak数据库中。在
csv_data = csv.reader(file('abc.txt'))
txt文件包含两个用@@分隔的字段
^{pr2}$并插入riak数据库
new_user = user_buckets.new(FirstUser,data={
'user':FirstUser,
'friendlist':FriendList,
'is_active':True
})
new_user.store()
为了从Riak数据库获取数据,我使用Map
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])
它给出了格式
Dinesh-{u'friendlist':[u'Bakshi',u'Kishna'],u'is_nuactive':True,u'user':u'Dinesh'}
在这里我如何删除输出格式中的u?在插入Riak时转换成字符串会导致u形吗?在
编辑1
我用mapreduce获取了Riak数据库
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]]);
}
}
}
这里分组是多维数组,它包含的数据如下
示例
[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,但是它给出了错误。所以我想这是由于u。现在我如何比较数组并找出匹配情况呢?在这里我想我犯了个错误。在
没有JSON数据,只有Python字典的字符串表示。您需要使用
json.dumps()
将其显式转换为JSON。在相关问题 更多 >
编程相关推荐