我对Python很陌生,我只想尝试一些基础知识。
我想知道是否有人可以告诉我如何执行以下任务。我有一个包含多行的文本文件,这些行如下:
name1, variable, variable, variable
name2, variable, variable, variable
name3, variable, variable, variable
我想将这些项目存储在字典中,以便轻松调用它们。我希望这个名字成为关键。然后我希望能够调用这样的变量:key [0]或key 1
我目前的代码不会这样做:
d = {}
with open("servers.txt") as f:
for line in f:
(key, val) = line.split()
d[int(key)] = val
一旦完成,我希望能够从用户那里获取输入,然后检查数组以查看该项是否存在于数组中。我在Stackoverflow上发现了一些线程,但似乎没有一个我做的。
有一个类似问题here。
您可以提供的任何帮助都会令人惊叹。我是新手,但我希望快速学习在不久的将来开始为自己做出贡献:)
干杯!
答案 0 :(得分:0)
你快到了。假设.split()
实际上正确地分割了行(如果值之间存在实际的逗号则不会这样做),您只需要一个额外的解包操作符(*
):
d = {}
with open("servers.txt") as f:
for line in f:
key, *val = line.split() # first element -> key, rest -> val[0], val[1] etc.
d[int(key)] = val
如果要检查用户输入的密钥是否存在,可以执行类似
的操作ukey = int(input("Enter key number: "))
values = d.get(ukey)
if d is not None:
# do something
else:
print("That key doesn't exist.")
答案 1 :(得分:0)
假设您的文件my_file.csv如下所示:
name1, variable, variable, variable
name2, variable, variable, variable
name3, variable, variable, variable
使用pandas来完成工作:
import pandas as pd
result = pd.read_csv('my_file.csv', index_col=0, header=None)
print(result)
print(result.loc['name1'])
请注意,pandas是第三方库,您需要使用pip或easy_install工具进行安装。