Итерировать через указанный столбец c в pandas - PullRequest
0 голосов
/ 28 мая 2020

У меня есть CSV-файл, который мне нужно обработать в сценарии python. Я решил использовать модуль pandas.

Мой CSV-файл выглядит так:

Name,Private IP
bastion001,10.238.2.166
logicmonitor001,10.238.2.52
logicmonitor002,10.238.2.53

И я хочу перебрать столбец Name.

Я читаю файл следующим образом:

hosts_list = os.path.join('..', '..', 'source_files', 'aws_hosts_list', 'aws_hosts_list.csv')
fields = ['Name']
df = pd.read_csv(hosts_list, skipinitialspace=True, usecols=fields)

Когда я распечатываю весь фрейм данных, я вижу следующее:

print(f"This is the DF: \n{df}")

This is the DF:
                      Name
0               bastion001
1          logicmonitor001
2          logicmonitor002

Но когда Я пытаюсь выполнить итерацию вывода, вот что я вижу:

for i,j in df.iterrows():
    print(f"{i} {j}")

0 Name    bastion001
Name: 0, dtype: object
1 Name    logicmonitor001
Name: 1, dtype: object
2 Name    logicmonitor02

Как мне просто распечатать имена из столбца Name, чтобы у меня был список, который выглядит вот так:

bastion001
logicmonitor001
logicmonitor0002

Ответы [ 2 ]

1 голос
/ 28 мая 2020

Попробуйте это:

print(list(df['Name']))

Вывод:

['bastion001', 'logicmonitor001', 'logicmonitor002']

Если вы хотите, чтобы они были по одному в строке, попробуйте следующее:

for val in list(df['Name']):
    print(val)

Вывод:

bastion001
logicmonitor001
logicmonitor002
1 голос
/ 28 мая 2020

Если вам просто нужен список, вы можете сделать это:

list_names = df['Name'].tolist()
print(list_names)

['bastion001', 'logicmonitor001', 'logicmonitor002']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...