从txt读取多行并在Python中存储到多个列表
我有一个txt文件,每行有多个字符串,如下所示:从txt读取多行并在Python中存储到多个列表,python,readline,Python,Readline,我有一个txt文件,每行有多个字符串,如下所示: Hamburger: Ground Beef, Onion, Tomato, Bread, Ketchup Pesto_Chicken: Chicken, Peppers, Pasta, Pesto Surf_and_Turf: Steak, Fish 我想把它读入我的程序,并为每一行创建一个列表。理想情况下,使用每行的第一个单词(如汉堡等)作为列表名,但这并不重要。我只需要把每一行都放到它自己的列表中。到目前为止,我可以读入并打印到控制台,但
Hamburger: Ground Beef, Onion, Tomato, Bread, Ketchup
Pesto_Chicken: Chicken, Peppers, Pasta, Pesto
Surf_and_Turf: Steak, Fish
我想把它读入我的程序,并为每一行创建一个列表。理想情况下,使用每行的第一个单词(如汉堡等)作为列表名,但这并不重要。我只需要把每一行都放到它自己的列表中。到目前为止,我可以读入并打印到控制台,但不知道如何存储为列表
filepath = 'recipes.txt'
with open(filepath) as fp:
line = fp.readline()
cnt = 1
while line:
print("Line {}: {}".format(cnt, line.strip()))
line = fp.readline()
cnt += 1
第一步:按冒号分割部分=行。分割“:”
第二个:用逗号分割第二个部分以获得食物列表。\u list=parts[1]。拆分','
最后一步:把所有的内容都写进一篇口述
尝试一下split方法,它正好满足您的需要 获取第一个单词作为标题:
parts = line.split(":")
title = parts[0]
然后列出其他单词:
words_list = parts[1].split(", ")
列表没有名称。字典有钥匙。您能显示所需的输出吗?谢谢!这是有道理的,但我还是有一些错误。我看到foods矩阵已创建,但第6行foods_list=parts[1]处有一个索引器:list index超出范围。拆分“:”错误消息与上面代码的第6行不匹配。在未修改的状态下,它针对输入成功运行。
words_list = parts[1].split(", ")