如何在文本文件中输出竖线格式

How to output vertical bar format in textfile

我正在尝试以这种格式将我的内容保存在文本文件中

|Name|Description|

|QY|Hello|

但现在我的返回结果如下:

|2014 1Q    2014 2Q 2014 3Q 2014 4Q|

|96,368.3   96,808.3    97,382  99,530.5|

代码:

def write_to_txt(header,data):
    with open('test.txt','a+') as f:
        f.write("|{}|\n".format('\t'.join(str(field) 
                          for field in header))) # write header 
        f.write("|{}|\n".format('\t'.join(str(field) 
                          for field in data))) # write items

知道如何更改我的代码以获得理想的输出吗?

发生这种情况是因为您正在使用 \t 加入可迭代数据中的字段,在加入中也使用 | 来满足您的要求。例子-

def write_to_txt(header,data):
    with open('test.txt','a+') as f:
        f.write("|{}|\n".format('|'.join(str(field) 
                          for field in header))) # write header 
        f.write("|{}|\n".format('|'.join(str(field) 
                          for field in data)))