Я пытался выполнить NSLOOKUP и записать значения в файл CSV.
Мой file1.csv:
Hostname
abc1
def2
fgh3
.
.
.
and so on
Я хочу выполнить nslookup на этих именах хостов и записатьПолное доменное имя для file2.csv примерно так:
Hostname FQDN
abc1 abc1.na.edu
def2 bcd2.sa.edu
fgh3 fgh3.ea.edu
.
.
and so on
Это мой код:
import socket
import csv
name = []
with open('file1.csv', 'r', newline='') as csvinput:
reader = csv.reader(csvinput)
for line in csvinput:
name = socket.getfqdn(line)
with open('file2.csv', 'w', newline='') as csvoutput:
fieldnames = (['Hostname', 'FQDN'])
output = csv.writer(csvoutput)
output.writerow(fieldnames)
output.writerow([name])
Я могу получить только одно имя одного случайного имени хоста в выходном файле.Хотя, когда я использую только «print (name)», это дает мне все FQDN в консоли.Я знаю, что что-то упустил, пожалуйста, помогите !!
Внесены некоторые изменения в коде:
import socket
import os
import csv
name = {}
CI = {}
with open('file1.csv', 'r', newline='') as csvinput:
reader = csv.DictReader(csvinput)
# status = [row['FQDN'] for row in rows]
for rows in reader:
CI = rows['CI_Name']
name = socket.getfqdn(CI)
with open('file2.csv', 'a', newline='') as csvoutput:
output = csv.writer(csvoutput)
#fieldnames = ['CI_Name', 'FQDN']
#output = csv.DictWriter(csvoutput, fieldnames=fieldnames)
#output.writerow(rows)
output.writerows([[CI] + [name]])
Я могу напечатать имя и соответствующее полное доменное имя, но не могу напечататьзаголовок столбца csv, то есть «CI_Name» и «FQDN»