python如何将由多个用户信息组成的段落按不同的用户拆分开来?
世界只因有你
世界只因有你 2017-05-18 10:51:32
[Python讨论组]

Name: a002
ID: ffd7eb90-3705-4248-8c21-f3d579ccc54d
Display Name:
Email: .com.cn
First Name: a002
Last Name: li
Department:
Title:
Description:
Account Disabled: false
Account Unlocked At: 2017-04-24 07:25:08Z
Name: admin
ID: c41cc2dd-8fbf-4dc2-a5a6-99e6738952df
Display Name:
Email:
First Name: admin
Last Name:
Department:
Title:
Description:
Account Disabled: false
Account Unlocked At: 1970-01-01 00:00:00Z
Name: xuan
ID: 38cb2ab5-0969-4ace-9555-9909e331a174
Display Name:
Email:
First Name: xuan
Last Name: Liang
Department:
Title:
Description:
Account Disabled: false
Account Unlocked At: 2017-05-04 01:44:24Z
Name: a001
ID: 6b45403d-4654-4e0a-9145-91405d67aa3b
Display Name:
Email: com.cn
First Name: a001
Last Name: li
Department:
Title:
Description:
Account Disabled: false
Account Unlocked At: 2017-04-24 10:09:33Z

如上面的文段,按不同的Name来区分不同的用户,最终可以把不同用户的信息分别存入mysql?

世界只因有你
世界只因有你

全部回复(4)
ringa_lee

f.readline()
读到Name: xxxx 就表示进入下个用户信息

我想大声告诉你

mysql 里设置 name 约束 unique, 然后一条条插入数据库就可以了

淡淡烟草味
# coding: utf8
from collections import defaultdict
file_name = '1.txt'
result = defaultdict(dict)
with open(file_name) as f:
    user_name = ''
    for i in f:
        tmp = i.strip().split(':', 1)  # 只切割一次
        if len(tmp) == 1:
            # 对应的键没有值, 用空字符补充
            tmp.append('')
        key, value = tmp
        if i.startswith('Name'):
            user_name = key
            continue
        if user_name:
            result[user_name][key] = value
print result # 用户结果集合字典, 可以遍历这个插入数据库, 也能在运行中插入, 任君选择
某草草

用正则分割,再根据用户名分到一组

DATA = re.findall(r'(.*?\d\dZ)', a, re.S)
for i in DATA:
    print(i)
    print('----------------------')
    

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号