python - 如何将以下文件上传到 Python 中以从文件中获取特定结构?跟着正文看例子
问题描述
文件:
0 3 3.0277
0 14 4.8251
1 6 2.8984
2 3 4.5238
2 12 1.9643
3 2 4.5238
我需要上传到 Python 并获得以下形式:
graph_latency = {'0':{'3':3.0277,'14':4.8251}
,'1':{'6':2.8984}
,'2':{'3':4.5238,'12':1.9362037455854288}
,'3':{'0':4.5238,'2':4.5238}}
我会很感激的,谢谢
解决方案
您可以re
用于解析文本:
import re
from collections import defaultdict
from pprint import pprint
data_from_file = """
0 3 3.0277
0 14 4.8251
1 6 2.8984
2 3 4.5238
2 12 1.9643
3 2 4.5238"""
def transform_to_my_format(data):
d = defaultdict(dict)
for (i1, i2, i3) in re.findall(r'([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)', data):
d[i1].update({i2: float(i3)})
return d
pprint(transform_to_my_format(data_from_file))
输出:
defaultdict(<class 'dict'>,
{'0': {'14': 4.8251, '3': 3.0277},
'1': {'6': 2.8984},
'2': {'12': 1.9643, '3': 4.5238},
'3': {'2': 4.5238}})
推荐阅读
- python - 如何将空终端输出从服务器发送到客户端?
- ruby-on-rails - 根据 graphql-ruby 中的解析器参数更改类型字段的值
- node.js - 轰炸多个请求时的 Dax 缓存性能问题
- php - 按布尔排序
- python - Tabula-py 跳过 PDF 的第一页并遗漏了一些表格数据
- c# - C#:使用 LINQ to Datatable 获取动态列名的值
- javascript - Graphql查询只解析_id字段,其他字段为空
- chart.js - 使用 chart.js 的年龄金字塔图
- php - 在 Laravel 中构建控制器时接口不可实例化
- python - 如何使用 pyWikiBot 创建或编辑页面