假设我想在Pycharm(keywords.txt)中打开一个文本文件,并假设这个文本文件包含一个单词列表,并带有相应的数值,因此文本文件的格式如下:
apple, 3
banana, 5
happy, 7
tiger, 9
(数值范围为1-10)
据我所知,为了打开此文件(在读取模式下),我们将执行以下操作:
with open('keywords.txt','r') as f:
我如何阅读文本文件每一行中的每个单词,然后将其作为关键字存储到字典中,然后还存储其相应的数值?
例如:
dictionary = {'apple':'3','banana':'5','happy':'7','tiger':'9'}
我尝试了什么:
with open('keywords.txt','r') as k:
size_to_read = 1
k_text = k.read(size_to_read)
while len(k_text) > 0:
if k_text.isalpha:
keywordic = dict.fromkeys({'k_text'})
print(keywordic)
k_text = k.read(size_to_read)
我真的不知道我要去哪里......
它只打印了以下一堆:
{'k_text': None}
答案 0 :(得分:2)
def readFile(filename):
# Dict that will contain keys and values
dictionary = {}
with open(filename, "r") as f:
for line in f:
s = line.strip().split(", ")
dictionary[s[0]] = int(s[1])
return dictionary
这可以通过打开文件,使用strip()
删除空格,使用strip()
将字符串拆分为列表,然后将键设置为字符串数组s
的第一部分来实现。是水果,以及将其投射到int
后第二部分的值。
答案 1 :(得分:2)
您可以使用for line in myfile:
逐行迭代文件。
dictionary = {}
with open("keywords.txt", "r") as file:
for line in file:
key, value = line.strip().split(",")
dictionary[key] = value
print(dictionary)
答案 2 :(得分:1)
data_dict = { line.split(",")[0] : line.split(",")[1] for line in open('keywords.txt') }
答案 3 :(得分:0)
只是逐行读取文件,对于每一行字符串,使用`split(',')来获取行中第一项和第二项的列表,然后你可以存储字典中的两个字符串,如果需要,您可以将第二个字符串转换为整数。