2015-01-23 1 views
0

Я использую pyodbc для возврата строк из базы данных SQL, и я могу подключиться и получить все строки просто отлично. Но теперь я смущен, как обращаться с возвращенными данными. Я хотел бы присоединиться ко всем значениям в возвращаемом списке, в строку, которую я могу записать в файл. Но я не уверен, как обращаться с несколькими типами данных в списке.Как присоединиться к целым числам, десятичным() и datetime.datetime() в списке?

Вот базовый код, ведущий к списку:

key = "03001001" 
cursor.execute('''select * from table_name where key='{}' '''.format(key)) 
rows = cursor.fetchall() 
for x in rows: 
    print(x) 

Когда я print(x) возвращает следующую строку:

('03001001', 2, datetime.datetime(2014, 11, 13, 4, 30), 0, Decimal('-0.1221'), 5, 0, 0, 0, datetime.datetime(2014, 11, 13, 14, 30), datetime.datetime(2014, 11, 13, 4, 30, 12), 0) 

Я хотел бы, чтобы он просто вкладка строка с разделителями.

+0

Вы можете превратить элемент в строку с помощью функции 'str', и вы можете присоединиться к списку строк вместе с функцией' join'. –

ответ

0
print('\t'.join(map(repr, x))) 

приведет к

'03001001' 2 datetime.datetime(2014, 11, 13, 4, 30) 0 Decimal('-0.1221')5 0 0 0 datetime.datetime(2014, 11, 13, 14, 30) datetime.datetime(2014, 11, 13, 4, 30, 12) 0 

Если вы хотите читаемым человеком даты и десятичная запись использовать str вместо repr (как Матти Джонсе ответ):

print('\t'.join(map(str, x))) 

напечатает

03001001 2 2014-11-13 04:30:00 0 -0.1221 5 0 0 02014-11-13 14:30:00 2014-11-13 04:30:12 0 
+0

Спасибо Себастьян, я ценю оперативность вашего ответа! Я попробую! –

Смежные вопросы