python数据处理,数据入库问题

数据格式为
http://titie1
key1 value1
key2 value2
key3 value3
key4 value4
http://title2
key1 value1
key2 value2
key3 value3
key4 value4
key5 value5
http://title3
key1 value1
key2 value2
key3 value3
key4 value4
key5 value5
http://title4
key1 value1
key2 value2
key3 value3
key4 value4
key5 value5
key6 value6

需要把这种格式的数据导入mongodb,类似这样
图片描述
图片描述

每个title下的key和value的数量都不一样,比如有的是5组数据,有的是10组数据
应该怎么处理这些数据来入库。

阅读 3.2k
1 个回答

本子上没装mongodb, 所以我只帮你处理数据, 怎么插入你自己搞定~

按照你的设定, 我有一个名为test的文本, 内容长这样

http://titie1
key1 value1
key2 value2
key3 value3
key4 value4
http://title2
key1 value1
key2 value2
key3 value3
key4 value4
key5 value5
http://title3
key1 value1
key2 value2
key3 value3
key4 value4
key5 value5
http://title4
key1 value1
key2 value2
key3 value3
key4 value4
key5 value5
key6 value6

直接放码

lst = []
with open('test', 'r') as fh:
    line = fh.readline().strip()
    while line:
        item = {
            'title': '',
            'data': []
        }
        if line.startswith("http://"):
            item['title'] = line.split("//")[-1]
            line = fh.readline().strip()
        while line and not line.startswith("http://"):
            _dic = {}
            _k, _v = line.split()
            _dic[_k] = _v
            item['data'].append(_dic)
            line = fh.readline().strip()
        else:
            lst.append(item)

print(lst)

运行结果

[{'title': 'titie1', 'data': [{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}, {'key4': 'value4'}]}, {'title': 'title2', 'data': [{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}, {'key4': 'value4'}, {'key5': 'value5'}]}, {'title': 'title3', 'data': [{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}, {'key4': 'value4'}, {'key5': 'value5'}]}, {'title': 'title4', 'data': [{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}, {'key4': 'value4'}, {'key5': 'value5'}, {'key6': 'value6'}]}]

剩下写入mongodb你看着办吧

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