【发布时间】:2017-08-11 08:44:31
【问题描述】:
我有一个包含四列的文本文件: 时间 序列 域 服务器
文本文件内容如下:
15 14 google.com 8.8.8.8
19 45 google.com 8.8.4.4
98 76 google.com 208.67.222.222
20 23 intuit.com 8.8.8.8
45 89 intuit.com 8.8.4.4
43 21 intuit.com 208.67.222.222
78 14 google.com 8.8.8.8
92 76 google.com 8.8.4.4
64 54 google.com 208.67.222.222
91 18 intuit.com 8.8.8.8
93 74 intuit.com 8.8.4.4
65 59 intuit.com 208.67.222.222
读取此文件并创建字典列表的最佳方法如下:
[{"server":"8.8.8.8",
"domains":[{"google.com":[{"time":15, "serial":14}, {"time":78, "serial":14}]},
{"intuit.com":[{"time":20, "serial":23}, {"time":91, "serial":18}]}
]
},
{"server":"8.8.4.4",
"domains":[{"google.com":[{"time":19, "serial":45}, {"time":92, "serial":76}]},
{"intuit.com":[{"time":45, "serial":89}, {"time":93, "serial":74}]}
]
},
{"server":"206.67.222.222",
"domains":[{"google.com":[{"time":98, "serial":76}, {"time":64, "serial":54}]},
{"intuit.com":[{"time":43, "serial":21}, {"time":65, "serial":59}]}
]
}]
行的顺序可以改变,但列始终保持不变。
【问题讨论】:
-
您可以尝试使用pandas.read_csv。使用分隔符作为空格,添加列信息(即列名),然后使用pandas.DataFrame.to_dict 将DataFrame 转换为字典。可能需要进行一些分组才能得到你想要的结果。
标签: python list python-3.x file dictionary