Я прочитал текстовый файл и вставил данные в Riak DB с помощью python.удалить u 'infront из json data
csv_data = csv.reader(file('abc.txt'))
текстовый файл содержит два поля разделены @@
tempstring = str(row).split('@@')
и вставляется в Riak DB
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])
и он дает в коврик
Динеш - {u'friendlist ': [u'Bakshi', и»Kishna '], u'is_active': Правда, u'user ': u'Dinesh'}
Вот как я могу удалить u в формате вывода? Преобразует ли строка в строку при вставке в Riak, чтобы сформировать u?
Редактировать 1
Я принес Riak БД с помощью 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]]);
}
}
}
Здесь группировка это многомерный массив, который содержит данные, такие как
Пример
[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])
В приведенном выше, как, например, случае, он должен возвращать верно, но это дает ошибку. Поэтому я думаю, что это связано с u. Теперь, как я могу сравнить массив и узнать случай соответствия? здесь, я думаю, я ошибся в условии.
'u' просто означает unicode, он фактически не существует; это просто визуальный маркер при печати данных. Однако 'Dinesh' не JSON, а словарь Python. – roganjosh
Данные, полученные из Riak, отформатированы, как в примере выше. Я хочу сравнить значения (сравнивая условие, как указано выше), тогда он дает ошибку. Для примера, подобного выше, он должен возвращать true, но не смог его получить. – bikas
Вы следили за ссылкой, помеченной как дубликат, и прочитали ответ Даниэля Роземана? Между «True» и «error» существует разница. Какая ошибка? – roganjosh