Python - 嵌套列表到制表符分隔文件?

Posted

技术标签:

【中文标题】Python - 嵌套列表到制表符分隔文件?【英文标题】:Python - Nested List to Tab Delimited File? 【发布时间】:2011-01-31 08:51:48 【问题描述】:

我有一个包含约 30,000 个子列表的嵌套列表,每个子列表包含三个条目,例如,

nested_list = [['x', 'y', 'z'], ['a', 'b', 'c']].

我希望创建一个函数,以便将此数据构造输出为制表符分隔格式,例如,

x    y    z
a    b    c

非常感谢任何帮助!

提前致谢, 海鲜。

【问题讨论】:

到目前为止你有什么?任何代码尝试部分有效? 【参考方案1】:
>>> nested_list = [['x', 'y', 'z'], ['a', 'b', 'c']]
>>> for line in nested_list:
...   print '\t'.join(line)
... 
x   y   z
a   b   c
>>> 

【讨论】:

只是好奇将子列表存储为 3 元组而不是列表会有所帮助吗?性能明智? @TheMachineCharmer:随意使用timeit 看看实际的影响是什么。 docs.python.org/library/timeit.html @TheMachineCharmer:请注意,真正的代码可能没有以这种方式硬编码列表,而是从文件中读取它们或从其他来源获取它们【参考方案2】:
>>> print '\n'.join(map('\t'.join,nested_list))
x       y       z
a       b       c
>>>

【讨论】:

【参考方案3】:
out = file("yourfile", "w")
for line in nested_list:
    print >> out, "\t".join(line)

【讨论】:

【参考方案4】:
with open('fname', 'w') as file:
    file.writelines('\t'.join(i) + '\n' for i in nested_list)

【讨论】:

【参考方案5】:

在我看来,这是一个简单的单行:

print '\n'.join(['\t'.join(l) for l in nested_list])

【讨论】:

以上是关于Python - 嵌套列表到制表符分隔文件?的主要内容,如果未能解决你的问题,请参考以下文章

遍历并行列表并将一个列表中的制表符分隔文本转换为另一个列表中的 csv 路径

使用python将文本文件转换为excel文件(制表符分隔)

使用 python 和 pandas 将错误创建的大型 csv 文件转换为制表符分隔文件

从制表符分隔的文本文件中读取日期

用 Python 解析 CSV / 制表符分隔的 txt 文件

Python:将 a 附加到字典中的列表