Как мне прочитать данные из файла, используя Python? - PullRequest
2 голосов
/ 03 мая 2011

Я ищу функцию поиска для печати соответствующих имен.У меня есть файл списка

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

У меня есть переменная «user» в моем скрипте. Я хочу проверить переменную в первом столбце, если значение совпадает, выведите соответствующее имя

Например, если «пользователь» == a, тогда напечатайте «Главный менеджер»

Ответы [ 2 ]

5 голосов
/ 03 мая 2011

Использование словаря будет проще.

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 голос
/ 03 мая 2011

Если предположить, что первый столбец в некотором роде будет уникальным, вашей первой задачей будет создание диктонары с ключами из первого столбца и значениями из второго.

для построения словаря, попробуйте его вследующим образом.

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
...