从不合适的格式生成“干净”元组

时间:2013-12-24 16:37:37

标签: python tuples

当我在程序中的日期范围之间调用数据库搜索时,它会返回

'(', (4, u'Jake', u'Ryan', u'Bowman', 1, 8, u'12/13/13'), ')', '(', (5, u'Katie', u'Brian', u'Adams', 0, 10, u'12/13/13'), ')',          '(', (6, u'Katie', u'Brian', u'Adams', 8, 8, u'12/25/13'), ')', 

以这种格式返回此值的最佳方法是什么:

(4,'Jake','Ryan','Bowman',1,8,'12/13/13'),(5,'Kate','Brian','Adams',0,10 '12/13/13'), etc

别介意unicode,我只需要一个可以在csv库中使用的元组。

2 个答案:

答案 0 :(得分:1)

您可以将其放入如下列表中:

>>> t = ['(', (4, u'Jake', u'Ryan', u'Bowman', 1, 8, u'12/13/13'), ')', '(', (5, u'Katie', u'Brian', u'Adams', 0, 10, u'12/13/13'), ')',          '(', (6, u'Katie', u'Brian', u'Adams', 8, 8, u'12/25/13'), ')', ]
>>> t = [row for row in t if row not in ('(', ')')]
>>> t
[(4, u'Jake', u'Ryan', u'Bowman', 1, 8, u'12/13/13'), (5, u'Katie', u'Brian', u'Adams', 0, 10, u'12/13/13'), (6, u'Katie', u'Brian', u'Adams', 8, 8, u'12/25/13')]

您主要需要删除parens字符串。结果很容易放入csv文件中。

答案 1 :(得分:0)

过滤列表并保留元组。

result = ['(', (4, u'Jake', u'Ryan', u'Bowman', 1, 8, u'12/13/13'), ')', '(', (5, u'Katie', u'Brian', u'Adams', 0, 10, u'12/13/13'), ')',          '(', (6, u'Katie', u'Brian', u'Adams', 8, 8, u'12/25/13'), ')', ]
tuples = [t for t in result if isinstance(t, tuple)]