Python: 当每个键和值都在一个新行时,如何将文本文件读入字典?
Python: How to read a text file into a dictionary when each key and value is on a new line?
我确定某处已经有这样的例子,但我没能找到。
我有一个如下所示的文本文件:
苹果
1
橙色
3
梨
6
梅
8
等...
我想制作一个字典,其中的键是每个水果的字符串,相应的值是它下面的一行。当我尝试使用换行符 '\n' 进行分隔时,它创建了一个字典,其中每一行都作为键和空对应值。我怎样才能做到这一点?
这是我目前的参考代码:
fruit_dict = {}
with open('fruit.txt') as file_object:
for line in file_object:
(key, val) = line.split('\n')
fruit_dict[key] = val
这是一个简单快捷的方法
fruit_dict = {}
with open('fruit.txt') as file_object:
for line in file_object:
key = line.strip()
value = file_object.readline().strip()
fruit_dict[key] = value
print(fruit_dict)
注意:这可能会得到改进
工作原理:
它遍历文件并为键分配行,但额外的读取行使查找器向下移动一行,因此适用于 for 语句
我确定某处已经有这样的例子,但我没能找到。 我有一个如下所示的文本文件:
苹果
1
橙色
3
梨
6
梅
8
等...
我想制作一个字典,其中的键是每个水果的字符串,相应的值是它下面的一行。当我尝试使用换行符 '\n' 进行分隔时,它创建了一个字典,其中每一行都作为键和空对应值。我怎样才能做到这一点?
这是我目前的参考代码:
fruit_dict = {}
with open('fruit.txt') as file_object:
for line in file_object:
(key, val) = line.split('\n')
fruit_dict[key] = val
这是一个简单快捷的方法
fruit_dict = {}
with open('fruit.txt') as file_object:
for line in file_object:
key = line.strip()
value = file_object.readline().strip()
fruit_dict[key] = value
print(fruit_dict)
注意:这可能会得到改进
工作原理: 它遍历文件并为键分配行,但额外的读取行使查找器向下移动一行,因此适用于 for 语句