Guest User

Untitled

a guest
Feb 14th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. import csv,arcpy,codecs,ast csvfile = r'\Cd1001-f18gisClientsEnbridgeLine4_MP66_75Project_DataTablemw_bh_loc_20171115.csv'
  2.  
  3. fc = r'Q:ClientsEnbridgeLine4_MP66_75Project_Databh_mw_loc.shp'
  4.  
  5. with codecs.open(csvfile,'rb',encoding="utf-8-sig") as csvFile:
  6.  
  7. csvheader1 = [x.strip() for x in next(csvFile).split(',')]
  8. print csvheader1
  9. for row in csv.reader(csvFile):
  10. print row
  11.  
  12. gdbFields = arcpy.ListFields(fc) insertList = []
  13.  
  14. for x in range (0,len(csvheader1)):
  15. insertList.append('csvrow['+str(x)+']') insertList.append('(float(csvrow[1]),float(csvrow[2]))') csvheader2 = list(csvheader1) csvheader2.append("SHAPE@XY") insertList2 = tuple(csvheader2)
  16.  
  17. print csvheader2
  18.  
  19. newFields = [x for x in csvheader1 if x not in gdbFields] print newFields for x in newFields:
  20. arcpy.AddField_management(fc,x,'TEXT','','','200') gdbNewFields = gdbFields + newFields insertFields = csvheader1.append("SHAPE@XY") fcWellIDValues = [row[0] for row in arcpy.da.SearchCursor(fc, "Well_ID")] print fcWellIDValues csvDict = csv.DictReader(codecs.open(csvfile, encoding ="utf-8-sig")) for csvrow in csvDict:
  21.  
  22.  
  23. if csvrow["Well_ID"] in fcWellIDValues:
  24. with arcpy.da.UpdateCursor(fc, gdbNewFields) as cursor:
  25. for row in cursor:
  26. if row["Well_ID"] == csv["Well_ID"]:
  27. for x in newFields:
  28. row[x] == csvrow[x]
  29. cursor.updateRow(row)
  30.  
  31. elif csvrow["Well_ID"] not in fcWellIDValues:
  32. with arcpy.da.InsertCursor(fc,csvheader2)as cursor:
  33. cursor.insertRow([insertList2])
  34.  
  35. print "done"
  36.  
  37. Traceback (most recent call last):
  38. File "C:UsersvlawDesktopApplicationcsv_mwloader.py", line 47, in <module>
  39. cursor.insertRow([insertList2])
  40. TypeError: sequence size must match size of the row
Add Comment
Please, Sign In to add comment