如何在列表中加入整数、Decimal() 和 datetime.datetime()?
How do I join integers, Decimal() and datetime.datetime() in a list?
我正在使用 pyodbc 从 SQL 数据库获取 return 行,我可以连接并获取所有行。但是现在我很困惑如何处理数据returned。我想将 returned 列表中的所有值加入一个字符串,然后我可以将其写入文件。但是我不确定如何处理列表中的多种数据类型。
这是指向列表的基本代码:
key = "03001001"
cursor.execute('''select * from table_name where key='{}' '''.format(key))
rows = cursor.fetchall()
for x in rows:
print(x)
当我print(x)
它return下面一行:
('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)
我希望它只是一个制表符分隔的字符串。
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
(如 Matti John 的回答):
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
我正在使用 pyodbc 从 SQL 数据库获取 return 行,我可以连接并获取所有行。但是现在我很困惑如何处理数据returned。我想将 returned 列表中的所有值加入一个字符串,然后我可以将其写入文件。但是我不确定如何处理列表中的多种数据类型。
这是指向列表的基本代码:
key = "03001001"
cursor.execute('''select * from table_name where key='{}' '''.format(key))
rows = cursor.fetchall()
for x in rows:
print(x)
当我print(x)
它return下面一行:
('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)
我希望它只是一个制表符分隔的字符串。
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
(如 Matti John 的回答):
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