python读文件如何保持到字典中去?
迷茫
迷茫 2017-04-18 09:42:42
[Python讨论组]

问题

现在有一个文件格式如下:

China:
    北京 010
    广州 020
    ...(省略)
Japan:
    东京 008143
    千叶 0081423
    ...(省略)
XXX XXX:
    yyy 11111
    yyx 11112
    ...
...:
    ...
    (大概就是如此的格式)

现在我想将其读取到一个字典里,怎么破

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
伊谢尔伦
from __future__ import print_function

import json
result = {}

with open("t.txt", "rb") as fd:
    country = None
    for line in fd:
        line = line.strip()
        if line == "":
            continue

        if ':' in line:
            country = line[:-1]

        else:
            city_parts = line.split(None, 1)
            result.setdefault(country, {})[city_parts[0]] = city_parts[1]

print(json.dumps(result, indent = 4).decode("unicode-escape"))


今天比较闲,就写了一个,你参考一下.

{
    "Japan": {
        "东京": "008143",
        "千叶": "0081423"
    },
    "China": {
        "北京": "010",
        "广州": "020"
    },
    "XXX XXX": {
        "yyy": "11111",
        "yyx": "11112"
    }
}
巴扎黑

一次读取一行,然后按空格分开,如果只有一个元素就是新的国家或者地区,如果有两个元素就是城市和区号。可以用str.split()函数

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

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