如何使用Python从文件中读取数据?

时间:2011-05-03 06:47:50

标签: python scripting

我正在寻找打印对应名称的查找功能。我有一个列表文件

a Chief manager
b Assistant general manager
c general manager
D CTO
E CEO

我的脚本中有一个变量“user” 我想检查第一列中的变量,如果值匹配则打印相应的名称

  

例如,如果“user”== a然后打印“总经理”

2 个答案:

答案 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