python如何进行批量查找替换并且分类

图片描述

{
"Data":[
{
"title":"我要扫地",
"id":"1"
},
{
"title":"他要跳楼了",
"id":"2"
},
{
"title":"跑步是有好处的",
"id":"3"
}
]
}

数据大概几千条
如何自动查找特定关键词,并且写入分类(如图所示)
比如
卫生 = '扫地,拖地,吸尘'
锻炼 = '跑步,慢跑,俯卧撑'
.....
.......

阅读 4.2k
2 个回答

只有挨个遍历了,几千条数据也不算多,类似处理方法如下:

# python 2.7 utf-8
from copy import deepcopy

dic_category = {
    u'卫生': [u'扫地', u'拖地', u'吸尘'],
    u'锻炼': [u'跑步', u'慢跑', u'俯卧撑'],
    u'自杀': [u'跳楼']
}

data = {
    "Data": [
        {
            "title": u"我要扫地",
            "id": "1"
        },
        {
            "title": u"他要跳楼了",
            "id": "2"
        },
        {
            "title": u"跑步是有好处的",
            "id": "3"
        },
        {
            "title": u"多做俯卧撑",
            "id": "4"
        }
    ]
}

processed_data = deepcopy(data) # 若考虑内存占用率,直接处理data

for dic_ele in processed_data['Data']:
    dic_ele['category'] = None
    for str_category, tup_keys in dic_category.iteritems():
        if dic_ele['category']:  # 不考虑一个title有多种类别的情况
            break
        for str_key in tup_keys:
            if str_key in dic_ele['title']:
                dic_ele['category'] = str_category
                break

# display
for dic_ele in processed_data['Data']:
    print '------------'
    print 'id:', dic_ele['id']
    print 'title:', dic_ele['title'].encode('utf-8')
    print 'category:', dic_ele['category'].encode('utf-8')

完全不懂你在说什么,你是说 只给出 “卫生” 从文本里找到 “扫地”??? 那真是意想天开

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题