将列表元组列表写入文本文件

时间:2012-03-07 10:05:08

标签: python text tuples

我的结果数据位于元组列表中,每个元组都有一个列表:

[(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ['I', 'J', 'K', 'L', 'M', 'N']),
 ...
 (['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ['I', 'J', 'K', 'L', 'M', 'N'])]

剥离所有嵌套和引号并将A:N写入制表符分隔文件的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

引号不是字符串的一部分,它们表示字符串。你将无法删除它们。

csv module使这一点变得非常简单:

import csv, itertools
with open('file.csv', 'wb') as f:
    writer = csv.writer(f, delimiter="\t")
    writer.writerows(list(itertools.chain(*t)) for t in results)

这会产生一个文件,其中每一行对应一个元组,一行包含两个列表的字母,用制表符分隔。

答案 1 :(得分:-1)

递归是解决这个问题的自然方法。

让目标成为你的清单[([A,B ..]),([A,B])]

def dump(target):
    for obj in target:
    if isinstance(obj,tuple) or isinstance(obj, list):
        dump(obj)
    else:
        print(obj),

dump(target)
print()