Python如何按预设规则将文本内容赋值到字典并输出到文件
代码修改方案
你可以直接使用以下修正后的代码:
# 定义字段和对应索引的映射规则 field_map = { 'Summery': [0, 1, 2], 'Location': [3, 4], 'Name': [5] } # 读取输入文件 with open("input.txt", 'r', encoding='utf-8') as f: lines = f.readlines() output_lines = [] for line in lines: # 去除换行符后按空格拆分单词 words = line.strip().split() # 按照规则构造字典 item = {} for field, indexes in field_map.items(): item[field] = [words[idx] for idx in indexes] # 转成字符串存入输出列表 output_lines.append(str(item)) # 写入输出文件 with open("output.txt", 'w', encoding='utf-8') as f: f.write('\n'.join(output_lines))
主要修改点
- 移除了原代码中无用的读取
test文件的逻辑 - 新增了字段与索引的映射规则,直接按照模板要求提取对应位置的单词
- 新增了换行符去除逻辑,避免拆分出来的单词携带多余的
\n字符 - 按照要求构造字典后再转字符串输出,格式完全匹配需求
- 改用
with语法管理文件句柄,避免文件忘记关闭的资源泄漏问题
内容的提问来源于stack exchange,提问作者user17026080
相关产品推荐
相关产品推荐

