我正在寻找打印对应名称的查找功能。我有一个列表文件
a Chief manager
b Assistant general manager
c general manager
D CTO
E CEO
我的脚本中有一个变量“user” 我想检查第一列中的变量,如果值匹配则打印相应的名称
例如,如果“user”== a然后打印“总经理”
答案 0 :(得分:5)
使用字典会更容易。
d = { 'a': 'Chief Manager', 'b': 'Assistant General Manager', 'c': 'General Manager', 'D': 'CTO', 'E': 'CEO' }
user = 'a'
print(d[user])
# Chief Manager
要将该文件加载到字典中,您可以这样做:
with open('/path/to/my/file') as myFile:
d = dict(line.strip().split(None, 1) for line in myFile)
print(d['a'])
# Cheif manager
如果要解析CSV文件,则取决于文件的实际格式。如果它看起来像这样:
a,"Cheif manager" b,"Assistant general manager" c,"general manager" D,"CTO" E,"CEO"
你可以这样读:
from csv import reader
d = dict(row for row in reader(open('/path/to/my/file'), delimiter=',', quotechar='"'))
print(d['a'])
# Cheif manager
答案 1 :(得分:1)
假设第一列在某种程度上是唯一的,你的第一个任务就是用第一列的键和第二列的值构造一个dictonary。
构建字典,按以下方式尝试。
org_dict = dict()
line = 'a Chief manager'
key,value = line.split(None,1)
org_dict[key] = value
现在要从文件中获取每一行,您可以打开文件然后逐行阅读。
with open('myfile') as f:
for line in f:
# process your line