繁体   English   中英

将项目的绑定清单输出到文件中

[英]Outputting appeded list of items into a file

我有一个变量all = [],它存储项目的附加列表,如下所示:

qwe 1qw78 12 qqq ss7 shhs bs77 sghs 7shsb qwe 1qw78 12 qqq ss7 shhs bs77 sghs 7shsb

我试图将制表符分隔格式的项目作为3列输出到文件中,如下所示:

想要的输出:

qwe 1qw78 12
qqq ss7 shhs
bs77 sghs 7shsb

我不确定如何执行此操作,但是我的尝试如下:

all=[]
with open("file.txt", "r") as input, open("output.txt","w") as outfile:
    for line in input:
    line=line.rstrip()
    all.append(line)        
    for i,item in enumerate(all):
        for i in range(3):
        outfile.write("%s \t" %all)

任何建议将被认真考虑。

谢谢

如果全部为列表,则以下内容将起作用,将所有内容替换为lst:

grouped = (lst[i:i+3] for i in range(0,len(lst),3))

with open("output.txt","w") as f:
    for tup in grouped:
        f.write("\t".join(tup)+"\n")

如果每一行都与您的问题相同,请拆分每行:

with open("file.txt", "r") as input, open("output.txt","w") as outfile:
for line in input:
    line = line.rstrip().split()
    grouped = (lst[i:i+3] for i in range(0,len(lst),3))
    for tup in grouped:            
        outfile.write("\t".join(tup)+"\n")

如果每行有一个单词,那么取模和枚举将完成您想要的操作:

with open("input.txt", "r") as inp, open("output.txt","w") as outfile:
    for ind, line in enumerate(inp,1):
        if ind % 3 == 0:
            outfile.write(line.rstrip()+"\n")
        else:
            outfile.write(line.rstrip() + "\t")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM