如何将特定格式的字符串文本文件转换为字典?
解决文本文件转指定格式字典的问题
嘿,这个需求实现起来很直观,用Python就能轻松搞定,我给你一步步说明:
核心思路
读取文本文件的每一行,将每行内容按第一个逗号加空格分割成两部分:第一部分作为字典的键(总统名字),剩下的部分合并成对应的值(职位+年龄信息),最后把这些键值对存入字典即可。
完整代码示例
假设你的文本文件名为presidents.txt,内容就是你提供的那三行,代码如下:
# 初始化空字典 president_dict = {} # 安全读取文件(with语句会自动关闭文件) with open('presidents.txt', 'r', encoding='utf-8') as file: # 遍历文件的每一行 for line in file: # 先移除行尾的换行符,再仅分割第一次出现的", " split_parts = line.strip().split(', ', 1) # 确保每行格式符合要求(避免空行或格式错误的行) if len(split_parts) == 2: name, details = split_parts president_dict[name] = details # 打印结果 print(president_dict)
关键细节说明
split(', ', 1)的作用:这里指定只分割第一次出现的,,而不是分割所有逗号。这样即使后续的信息里意外出现逗号(比如职位描述里有逗号),也不会破坏值的完整性,让代码更鲁棒。strip()的作用:移除每行开头/结尾的空白字符(包括换行符\n),避免键或值里出现多余的空格。with open的优势:无需手动关闭文件,Python会在代码块结束后自动处理,避免资源泄漏。
运行这段代码后,输出的字典就和你想要的格式完全一致啦:
{'Donald Trump': '45th US President, 71 years old', 'Barack Obama': '44th US President, 56 years old', 'George W. Bush': '43rd US President, 71 years old'}
内容的提问来源于stack exchange,提问作者Ken
相关产品推荐
相关产品推荐

