如果我有以下使用制表符分隔打印的数据
print str(z).translate(None,"([]){},\"'").replace(' ','\t')
0.016611783537845426 0.5728972505882961 0.1723653381777387 0.44730982873820446 10 11 10 0.016611783537845426 0.5728972505882961 0.2526385373738682 0.03281263933004819 10 12 10 0.016611783537845426 0.5728972505882961 0.509414248773428
如何写入新的 txt 文件,但每 4 个选项卡开始新行。所以得到 4 列。
尝试过\n 的多种变体,但我很垃圾。
例如:
open("file.txt", "w").write('\n'.join(str(z).translate(None,"([]){},\"'").replace(' ','\t')))
为每个字符返回换行符。
最佳答案
您可以使用itertools
documentation中的石斑鱼
食谱:
import itertools as it
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return it.izip_longest(fillvalue=fillvalue, *args)
然后您可以生成输出:
values = str(z).translate(None,"([]){},\"'").split()
output = '\n'.join('\t'.join(x for x in g if x) for g in grouper(4, values))
或者,如果您想将其写入文件,请使用f.writelines
:
f.writelines('\t'.join(x for x in g if x) + '\n' for g in grouper(4, values))
关于python - python 每 4 个选项卡写入一个新行文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10078086/