Pypyodbc извлекает столбец SQL как значение

Я использую pypyodbc для извлечения данных, но для этого примера я упрощу данные. Моя проблема в том, что у меня есть столбец с именем 475Election, и когда я извлекаю данные из этого столбца, я получаю 475 в качестве значения в python. Например:

TradeID    ...Other Values...    475Election
1          ...Other Values...          0

Но когда я использую python, я получаю вывод

1          ...Other Values...         475.0

Я полагаю, что это может быть результатом ошибки в типе данных или, возможно, с pypyodbc или просто как проблема с SQL в целом. Также, когда я запрашиваю эту информацию в SQL, она возвращает правильное значение. 475Election — битовый тип данных.

РЕДАКТИРОВАТЬ * Код в питоне

cursor = connection.cursor()
SQLCommand = "SELECT * FROM dbo.Trade"
cursor.execute(SQLCommand)
column_names = [d[0] for d in cursor.description]
try:
    column_names.remove('ssma_timestamp')
except ValueError:
    pass
SQLCommand = "SELECT " + ', '.join(column_names) + " FROM dbo.Trade"
cursor.execute(SQLCommand)
vals = cursor.fetchall()
SQLCommand_steve = "INSERT INTO dbo.Trade (" + ', '.join(column_names) + ") VALUES (" + ','.join('?' * len(column_names)) + ")"
print SQLCommand_steve
print vals
cursor_steve.executemany(SQLCommand_steve, vals)
connection_steve.commit()
connection_steve.close()
connection.close()
print 'done'

Выход:

INSERT INTO dbo.Trade (tradeid, *redacted column names for compliance*, 475election) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
53, u'1', u'2016-01-26 10:11:55', *Redacted, *Redacted, True, *Redacted, *Redacted, False, False, None, None, None, 475.0

Реальное значение для последнего напечатанного значения — это столбец 475election, и оно должно быть равно 0. Я использую Microsoft SQL Server Express (64-разрядная версия), ОС — Microsoft Windows NT 6.1. Версия 12.0.4422.0


person Steven Setteducati Jr.    schedule 03.06.2016    source источник
comment
Какой вариант SQL вы используете? Я бы догадался об этом по принудительно преобразованному значению, но имя столбца?   -  person kayla210    schedule 03.06.2016
comment
Движок базы данных? Код, используемый для получения вывода? Как создается ваша таблица (какие ключевые параметры)?   -  person Torxed    schedule 03.06.2016


Ответы (1)


Я понял, столбец нужно было переименовать с [475Election] на TaxElection, чтобы pypyodbc не читал значение как целое число вместо логического

person Steven Setteducati Jr.    schedule 03.06.2016