我有一个这种格式的文本文件(in_file. txt):
banana 4500 9
banana 350 0
banana 550 8
orange 13000 6
在Python中如何将其转换为字典列表?
代码:
in_filepath = 'in_file.txt'
def data_dict(in_filepath):
with open(in_filepath, 'r') as file:
for line in file.readlines():
title, price, count = line.split()
d = {}
d['title'] = title
d['price'] = int(price)
d['count'] = int(count)
return [d]
终端显示以下结果:
{'title': 'orange', 'price': 13000, 'count': 6}
正确输出:
{'title': 'banana', 'price': 4500, 'count': 9}, {'title': 'banana', 'price': 350, 'count': 0} , ....
有人能帮我解决这个问题吗?谢谢!
3条答案
按热度按时间wnrlj8wa1#
或:
您的方法(更正):
为什么?因为
1.- 〉
is out of
for
loop and run only once and when for
be finished and then you have just one element1.返回最后一个元素,并且没有使用其他元素,使用必须创建一个列表,并将每个元素附加到
for
循环的最后一行(保存),最后返回结果@岩杆方法:
e0uiprwp2#
您可以逐行读取文件,然后创建在第一个中定义的
dict
基键。fd3cxomn3#
您正在尝试创建一个字典列表(对象数组),因此最好在每次从一行文本创建
list
时都将其追加到dictionary
中。代码
产出