rowMembers = arcpy.SearchCursor(fc6,qTeam) lMembers = [] for z in rowMembers: mName = z.getValue("Name") lMembers.append(mName)
for i in lMembers: wMembers = lMembers arcpy.AddMessage(lMembers) arcpy.AddMessage(wMembers)
Solved! Go to Solution.
FDF_Field_Name = "Member" for index,item in enumerate(lMembers,1): name_field = "{0}{1}".format(FDF_Field_Name,index) txt.write("<</T({0})/V({0}{1})>>\n".format(name_field,item)) arcpy.AddMessage(item)
lMembers = ["Joe","Sue","Anne"]
name_field = "Member1" item = "Joe"
for i in lMembers: arcpy.AddMessage(i)
for index,item in enumerate(lMembers): arcpy.AddMessage(index,item)
for i in lMembers:assigns an item, not an index, from the lMembers list for each iteration. The next line:
wMembers = lMembersis probably where your error is occuring. It is trying to extract the i'th value from the list, but since i is a string instead of an integer, the error occurs.
lMembers = i
loop for as many times as there are items in the list for each list item, write that value to a output variable that can then be written out
Here's a better explanation
The list lMembers contains values such as [jon, pete, paul, steve, etc]
when I iterate that list later I want to pull the values from this list and write them to an output, building an FDF file.
The code is attempting to do the followingloop for as many times as there are items in the list for each list item, write that value to a output variable that can then be written out
for item in lMembers: #Write item to output
for item in lMembers: wMembers = item arcpy.AddMessage(item)
txt.write("<</T(item)/V(" + str(name) + ")>>\n")
#arcpy.env.workspace = workspc arcpy.env.overwriteOutput = "True" from arcpy import env # Pull data from Incident_Information FC fc1="Incident_Information" rows = arcpy.SearchCursor(fc1) row = rows.next() arcpy.AddMessage(fc1) while row: # Loop through rowns and pull incident name from Incident_Name field Incident_Name = row.getValue("Incident_Name") arcpy.AddMessage("while loop 1") row = rows.next() del rows del row # Loops through the Assignmets table and read field values to vars fc2="Assignments" rows = arcpy.SearchCursor(fc2) arcpy.AddMessage(fc2) row = rows.next() # Pull data from the Assignments feature class aVar from Assignments while row: arcpy.AddMessage("Get Assignment Information") aAssign = row.getValue("Assignments.Assignment_Number") aDesc = row.getValue("Assignments.Description") aMiles = row.getValue("Assignments.Mileage") aInsertion = row.getValue("Assignments.Insertion") aStatus = row.getValue("Assignments.Status") aOpPeriod = row.getValue("Assignments.Period") aTeam = row.getValue("Assignments.Team_Name") # Pull data from Op Period FC using Period number arcpy.AddMessage("Matching Operation Period") fc4 = "Operation_Period" rowPeriod = arcpy.SearchCursor(fc4, "Period = " + str(aOpPeriod)) # loops through operation periods and reads values into vars based on Op number pVar for Period for x in rowPeriod: pWeather = x.getValue("Weather") pSafety = x.getValue("Safety_Message") pFreqP = x.getValue("Primary_Comms") pFreqE = x.getValue("Emergency_Comms") pPlans = x.getValue("Planning_Chief") del x # Pull data from Teams FC using Assignment Number building quesry in var qTeam arcpy.AddMessage("Matching Teams") fc5 = "Teams" qTeam = '"Team_Name"' + "='" + str(aTeam) + "'" arcpy.AddMessage(qTeam) rowPeriod = arcpy.SearchCursor(fc5,qTeam) # loops through Teams and reads values into vars based on Team name tVar for Team for y in rowPeriod: tType = y.getValue("Team_Type") tCallSign = y.getValue("radio_Call_Sign") tLeader = y.getValue("Leader") del y del rowPeriod # Pull data from Team Members FC using Team Name building query in mVar arcpy.AddMessage("Matching Team Members") fc6 = "Team_Members" qTeam = '"Team_Name"' + "='" + str(aTeam) + "'" arcpy.AddMessage(qTeam) rowMembers = arcpy.SearchCursor(fc6,qTeam) lMembers = [] # loops through Teams and reads values into list lMembers. List = lVar z = 0 for z in rowMembers: mName = z.getValue("Name") lMembers.append(mName) arcpy.AddMessage(mName) del z del rowMembers arcpy.AddMessage("Building Assignment Number " + str(aAssign)) # Create new fdf file filename = output + "/" + str(aAssign) + ".fdf" txt= open (filename, "w") txt.write("%FDF-1.2\n") txt.write("%????\n") txt.write("1 0 obj<</FDF<</F(ICS-204.pdf)/Fields 2 0 R>>>>\n") txt.write("endobj\n") txt.write("2 0 obj[\n") txt.write ("\n") # Write field names to FDF file txt.write("<</T(incident_name)/V(" + str(Incident_Name) + ")>>\n") txt.write("<</T(assignment_number)/V(" + str(aAssign) + ")>>\n") txt.write("<</T(operational_period)/V(" + str(aOpPeriod) + ")>>\n") txt.write("<</T(asgn_description)/V(" + str(aDesc) + ")>>\n") txt.write("<</T(resource_type)/V(" + str(tType) + ")>>\n") txt.write("<</T(asgn.description)/V(" + str(aDesc) + ")>>\n") txt.write("<</T(.size_of_assignment)/V(" + str(aMiles) + ")>>\n") txt.write("<</T(transport_instructions)/V(" + str(aInsertion) + ")>>\n") txt.write("<</T(radio_call)/V(" + str(tCallSign) + ")>>\n") txt.write("<</T(freq_command)/V(" + str(pFreqP) + ")>>\n") txt.write("<</T(freq_command)/V(" + str(pFreqE) + ")>>\n") txt.write("<</T(prepared_by)/V(" + str(pPlans) + ")>>\n") txt.write("<</T(notes)/V(" + str(pWeather) + ")>>\n") # Write Team Members to FDF file from list lMembers for item in lMembers: wMembers = item arcpy.AddMessage(item) del item # Close and write FDF file txt.write("]\n") txt.write("endobj\n") txt.write("trailer\n") txt.write("<</Root 1 0 R>>\n") txt.write("%%EO\n") txt.close () row = rows.next() del rows del row
nameList = [r.Name for r in arcpy.SearchCursor(myFC)]Then...
i = 0 for name in nameList: print "Item #" + str(i) + " = " + str(name) i = i + 1
for z in rowMembers: mName = z.getValue("Name") lMembers.append(mName) arcpy.AddMessage(mName)