Вопрос:
Мне нужно преобразовать pyodbc.Row в строку. Интернет предлагает несколько предложений, ни одна из которых, похоже, не работает для меня.
row = cursor.fetchone() #unicodedata.normalize(‘NFKD’, row).encode(‘ascii’,’ignore’) #TypeError: must be unicode, not pyodbc.Row #row.fieldname.encode(‘utf8’) #AttributeError: ‘pyodbc.Row’ object has no attribute ‘fieldname’ tblName = str(row) tblName.replace(«text:u»,»»).replace(«‘»,»») tblName = tblName.encode(‘utf-8’) print tblName
Вышеизложенное либо дает ошибку (показано в комментарии), либо, похоже, не имеет эффекта, как показано на выходе здесь:
(u’myTableName’, ) # print tblName
SQL – это
tablesWithId = «select table_name from INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME like ‘MyId’ » cursor.execute(tablesWithId)
Python 2.7
Лучший ответ:
Учитывая ваш sql, я думаю, вы просто хотите:
row.table_name
” table_name ” – это имя выбранного столбца, а pyodbc делает каждый столбец удобным атрибутом объекта строки.