Я довольно новичок в Python (только что начал учиться за последние две недели) и пытаюсь написать скрипт для синтаксического анализа файла csv, чтобы извлечь некоторые из полей в список:Append Function Вложенная внутренняя строка оператора IF не работает
from string import Template
import csv
import string
site1 = 'D1'
site2 = 'D2'
site3 = 'D5'
site4 = 'K0'
site5 = 'K1'
site6 = 'K2'
site7 = '0'
site8 = '0'
site9 = '0'
lbl = 1
portField = 'y'
sw = 5
swpt = 6
cd = 0
pt = 0
natList = []
with open(name=r'C:\Users\dtruman\Documents\PROJECTS\SCRIPTING - NATAERO DEPLOYER\NATAERO DEPLOYER V1\nataero_deploy.csv') as rcvr:
for line in rcvr:
fields = line.split(',')
Site = fields[0]
siteList = [site1,site2,site3,site4,site5,site6,site7,site8,site9]
while Site in siteList == True:
Label = fields[lbl]
Switch = fields[sw]
if portField == 'y':
Switchport = fields[swpt]
natList.append([Switch,Switchport,Label])
else:
Card = fields[cd]
Port = fields[pt]
natList.append([Switch,Card,Port,Label])
print natList
Даже если я раздеться заявление ELSE прочь и ворваться в мой код сразу после IF clause-- я могу проверить, что «порта коммутатора» (первое заявление в пункте IF) успешно заселяется с ул из моего csv, а также «Switch» и «Label». Тем не менее, «natList» не добавляется с полями, проанализированными из каждой строки моего csv по какой-то причине. Python не возвращает никаких ошибок - просто не добавляет «natList» вообще.
Это будет функция (как только я получу сам код для работы), но пока я просто устанавливаю параметры функции как глобальные переменные, чтобы иметь возможность запускать ее в консоли iPython без необходимости вызова функции.
«lbl», «sw», «swpt», «cd» и «pt» относятся к столбцу # в моем csv (законченная функция позволит пользователю вводить значения для этих переменных).
Я предполагаю, что у меня проблема с областью «natList», но я попытался переместить оператор «natList = []» в разные места в моем коде безрезультатно.
Я могу запустить выше в консоли, а затем запустить «append.natList ([Switch, Switchport, Label])« отдельно, и это работает по какой-то причине ....?
Спасибо за любую помощь!
просто предложение .. вы, вероятно, должны добавить тег python к своему сообщению, чтобы люди с большей вероятностью его увидели. Обычно я просматриваю сообщения, содержащие определенные теги. К сожалению, я почти ничего не знаю о питоне. Надеюсь, вы найдете ответ. –
Спасибо! Новое на этом сайте .... – riddleOFst33l
не проблема меня тоже - будет много людей, рассказывающих вам, как публиковать, если они не думают, что вы сделали это правильно :) Подумайте об этом как о помощи. Иногда они могут быть довольно тупыми. Не читайте слишком много. Попробуйте здесь btw .. http://stackoverflow.com/help ;-) –