Python文本文件转字典时保留重复键首次值并跳过多字段行的方法
实现文本转字典保留首次出现键值的方案
你不需要倒序读取文件,也无需担心提前检测重复键的风险——只有拆分成功、符合双字段要求的行才会进入键存在性判断逻辑,多字段的行已经被异常捕获提前跳过,完全不会干扰检测逻辑。
最简实现代码如下:
with open("C:\\path\\food.txt", encoding="utf-8") as f_skipped: result = {} for line in f_skipped: try: k, v = line.split() except ValueError: # 字段数量不符合要求直接跳过 continue # 仅当键不存在时写入,保留首次出现的取值 if k not in result: result[k] = v
处理后得到的字典结果为:{'tomato': '7000', 'prunes': '892', 'carrot': '600'},符合需求。
你提到的倒序读取方案理论上也能实现,但需要额外处理大文件的行拆分逻辑,性能和实现复杂度都远高于上述方案,没有必要采用。
内容的提问来源于stack exchange,提问作者johnnydoe
相关产品推荐
相关产品推荐

