title: ProgrammingError: can't adapt type 'set'
body: <p>I am importing Excel data into postgreSQL using Python and running into an Programming Error. I did research the issue and found out it has something to do with postgreSQL. Can someone please provide assistance.</p>
  
  <pre><code>import psycopg2
  import xlrd
  
  book = xlrd.open_workbook("T:\data.xlsx")
  sheet = book.sheet_by_name("HCSData")
  database = psycopg2.connect (database = "", user="")
  
  cursor = database.cursor()
  delete = """Drop table if exists "Python".hcsdata"""
  print (delete)
  mydata = cursor.execute(delete)
  
  cursor.execute('''CREATE TABLE "Python".hcsdata
     (DCAD_Prop_ID   varchar(55),
     Address VARCHAR(50),
     Addition          VARCHAR(100),
     Block  text,
     Lot   integer,
     Permit_Num           varchar(55),
     Permit_Date             date,
     Foundation_Date  date,
     Frame_Date   date,
     Final_Date    date,
     HCS     varchar(55),
     Project_ID   integer
     );''')
  print "Table created successfully"
  
  query = """INSERT INTO "Python".hcsdata (DCAD_Prop_ID,Address,Addition, Block, Lot,
  Permit_Num,Permit_Date, Foundation_Date, Frame_Date, Final_Date, HCS,Project_ID)
  VALUES (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s)"""
  
  for r in range(1, sheet.nrows):
      DCAD_Prop_ID = sheet.cell(r,0).value
      Address = sheet.cell(r,1).value
      Addition = sheet.cell(r,2).value
      Block = sheet.cell(r,3).value
      Lot = sheet.cell(r,4).value
      Permit_Num = sheet.cell(r,5).value
      Permit_Date = None if not sheet.cell(r,6).value else xlrd.xldate.xldate_as_datetime(sheet.cell(r,6).value,book.datemode)
      Foundation_Date = None if not sheet.cell(r,7).value else xlrd.xldate.xldate_as_datetime(sheet.cell(r,7).value,book.datemode)
      Frame_Date = None if not sheet.cell(r,8).value else xlrd.xldate.xldate_as_datetime(sheet.cell(r,8).value,book.datemode)
      Final_Date = None if not sheet.cell(r,9).value else xlrd.xldate.xldate_as_datetime(sheet.cell(r,9).value,book.datemode)
      HCS = sheet.cell(r,10).value
      Project_ID =sheet.cell(r,11).value
  
      values = (DCAD_Prop_ID,set(Address),Addition, Block, Lot,
  Permit_Num,Permit_Date, Foundation_Date, Frame_Date, Final_Date, HCS,Project_ID)
  
      cursor.execute(query, values)
  
  cursor.close()
  
  database.commit()
  
  database.close()
  
  print ""
  print "All Done! Bye, for now."
  print ""
  columns = str(sheet.ncols)
  rows = str(sheet.nrows)
  print "Done"
  </code></pre>
  
  <p>And the error Python shows is:</p>
  
  <pre><code>Drop table if exists "Python".hcsdata
  Table created successfully
  
  Traceback (most recent call last):
    File "C:\Users\Programming\PythonSQLNew\HCSData.py", line 53, in &lt;module&gt;
  cursor.execute(query, values)
  ProgrammingError: can't adapt type 'set'
  </code></pre>