You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将recipes.txt内容转换为Python嵌套字典格式

解决方案:将食谱文件转换为嵌套字典格式

以下是实现需求的Python代码及详细说明:

完整代码

cook_book = {}

# 读取文件并预处理行数据
with open('recipes.txt', 'r', encoding='utf-8') as f:
    # 过滤空行并去除每行首尾空白字符
    lines = [line.strip() for line in f if line.strip()]

index = 0
while index < len(lines):
    # 获取当前食谱的菜名
    dish_name = lines[index]
    index += 1
    
    # 获取食材数量并转为整数
    ingredient_count = int(lines[index])
    index += 1
    
    # 解析对应数量的食材信息
    ingredients = []
    for _ in range(ingredient_count):
        name, qty, unit = lines[index].split(' | ')
        ingredients.append({
            'ingredient_name': name,
            'quantity': int(qty),
            'measure': unit
        })
        index += 1
    
    # 将当前食谱存入字典
    cook_book[dish_name] = ingredients

# 可选:打印结果验证格式
print(cook_book)

代码说明

  • 文件读取与预处理:使用with语句安全操作文件(自动处理文件关闭),通过列表推导式过滤空行并清理每行的首尾空白,避免空行干扰解析逻辑。
  • 循环解析食谱块:
    • 每次循环先读取菜名,然后索引后移一位;
    • 读取下一行的食材数量,转为整数后索引继续后移;
    • 根据食材数量循环读取对应行数的食材数据,用split(' | ')分割出食材名、数量、单位,构造指定格式的字典并添加到食材列表;
    • 将菜名作为键、食材列表作为值,存入目标字典cook_book。
  • 数据类型转换:将食材数量转为整数,确保字典中quantity字段为数值类型,完全匹配需求格式。

内容的提问来源于stack exchange,提问作者This_guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:46:40