Python :怎么把数据(字符串)转换成 字典(key:value)的形式

yzl654455050 2016-08-03 07:27:36

怎么把图片中的数据转换成 Python字典 以键值对形式 例如: PID:11 USERNAME: root .....
...全文
2642 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzl654455050 2016-08-19
  • 打赏
  • 举报
回复
引用 6 楼 uiuiy1 的回复:
>>> "a b c d".split(' ', 2)
['a', 'b', 'c d']
谢谢,你知道用正则表达式怎么处理吗?
屎克螂 2016-08-11
  • 打赏
  • 举报
回复
>>> "a b c d".split(' ', 2)
['a', 'b', 'c d']
yzl654455050 2016-08-10
  • 打赏
  • 举报
回复
引用 3 楼 uiuiy1 的回复:
a = """
top - 10:02:23 up 155 days, 13:10, 3 users, load average: 2.02, 2.01, 2.04
Tasks: 663 total, 3 running, 659 sleeping, 0 stopped, 1 zombie
%Cpu(s): 11.1 us, 13.5 sy, 0.0 ni, 75.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 13181207+total, 65516756 free, 1342132 used, 64953184 buff/cache
KiB Swap: 4194300 total, 4194300 free, 0 used. 12560134+avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
68418 root 20 0 14760 820 668 R 100.0 0.0 5126086h proxseas
92099 songyz 20 0 130560 2240 1216 R 11.8 0.0 0:00.03 top
250 root 20 0 0 0 0 S 5.9 0.0 677:26.31 rcu_sched
1 root 20 0 54256 4148 2472 S 0.0 0.0 19:43.00 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:01.86 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:58.02 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
8 root rt 0 0 0 0 S 0.0 0.0 0:21.00 migration/0
9 root 20 0 0 0 0 S 0.0 0.0 0:04.94 rcu_bh
10 root 20 0 0 0 0 S 0.0 0.0 0:01.27 rcuob/0
11 root 20 0 0 0 0 S 0.0 0.0 0:00.97 rcuob/1
12 root 20 0 0 0 0 S 0.0 0.0 0:00.96 rcuob/2
13 root 20 0 0 0 0 S 0.0 0.0 0:00.91 rcuob/3
14 root 20 0 0 0 0 S 0.0 0.0 0:00.07 rcuob/4
15 root 20 0 0 0 0 S 0.0 0.0 0:00.02 rcuob/5
16 root 20 0 0 0 0 S 0.0 0.0 0:00.01 rcuob/6
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/8
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/9
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/10
21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/11
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/12
23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/13
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/14
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/15
26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/16
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/17
28 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/18
29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/19
30 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/20
"""
aList = [x for x in a.split('\n')[7:-1]]
head = [x for x in aList[0].split()]
dList = [dict(zip(head, x.split())) for x in aList[1:]]
import json
print json.dumps(dList, indent=4)


大神,我的COMMAND中字符比较多
CDSoftwareWj 2016-08-09
  • 打赏
  • 举报
回复
都是好答案!
屎克螂 2016-08-09
  • 打赏
  • 举报
回复
a = """
top - 10:02:23 up 155 days, 13:10,  3 users,  load average: 2.02, 2.01, 2.04
Tasks: 663 total,   3 running, 659 sleeping,   0 stopped,   1 zombie
%Cpu(s): 11.1 us, 13.5 sy,  0.0 ni, 75.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 13181207+total, 65516756 free,  1342132 used, 64953184 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used. 12560134+avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 68418 root      20   0   14760    820    668 R 100.0  0.0  5126086h proxseas
 92099 songyz    20   0  130560   2240   1216 R  11.8  0.0   0:00.03 top
   250 root      20   0       0      0      0 S   5.9  0.0 677:26.31 rcu_sched
     1 root      20   0   54256   4148   2472 S   0.0  0.0  19:43.00 systemd
     2 root      20   0       0      0      0 S   0.0  0.0   0:01.86 kthreadd
     3 root      20   0       0      0      0 S   0.0  0.0   0:58.02 ksoftirqd/0
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
     8 root      rt   0       0      0      0 S   0.0  0.0   0:21.00 migration/0
     9 root      20   0       0      0      0 S   0.0  0.0   0:04.94 rcu_bh
    10 root      20   0       0      0      0 S   0.0  0.0   0:01.27 rcuob/0
    11 root      20   0       0      0      0 S   0.0  0.0   0:00.97 rcuob/1
    12 root      20   0       0      0      0 S   0.0  0.0   0:00.96 rcuob/2
    13 root      20   0       0      0      0 S   0.0  0.0   0:00.91 rcuob/3
    14 root      20   0       0      0      0 S   0.0  0.0   0:00.07 rcuob/4
    15 root      20   0       0      0      0 S   0.0  0.0   0:00.02 rcuob/5
    16 root      20   0       0      0      0 S   0.0  0.0   0:00.01 rcuob/6
    17 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/7
    18 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/8
    19 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/9
    20 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/10
    21 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/11
    22 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/12
    23 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/13
    24 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/14
    25 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/15
    26 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/16
    27 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/17
    28 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/18
    29 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/19
    30 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/20
"""
aList = [x for x in a.split('\n')[7:-1]]
head = [x for x in aList[0].split()]
dList = [dict(zip(head, x.split())) for x in aList[1:]]
import json
print json.dumps(dList, indent=4)
shaode01 2016-08-04
  • 打赏
  • 举报
回复
pandas包可以解决这个问题
  • 打赏
  • 举报
回复
一个zip()不就搞定了?

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧