1

我正在尝试编写一个 Python 脚本来创建一个包含多行的文件,其中包含一个标题和存储在列中的值。我对 Python 很陌生,所以在某处可能存在一个愚蠢的错误,但我尝试了很多东西,在互联网上查看,但我找不到如何解决我的问题......

import csv
A=[1,2]
B=[1.5,0.5]
C=[2.5,3]
with open('test.txt', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f, delimiter='\t')
    writer.writerows(zip("TestA","TestB","TestC"))
    writer.writerows(zip(A,B,C))

我期待类似的东西:

TestA     TestB     TestC
1    1.5    2.5
2    0.5    3

但我得到:

T     T     T
e     e     e
s     s     s
t     t     t
A     B     C
1     1.5   2.5
2     0.5   3

有谁知道得到我想要的东西吗?谢谢 !

4

1 回答 1

0

writer.writerows()无需进行一些复杂的列表转置,就无法使用水平书写。相反,为什么不File write()这样使用:

A=[1,2]
B=[1.5,0.5]
C=[2.5,3]
with open('test.txt', 'w', newline='', encoding='utf-8') as f:
    f.write('TestA\tTestB\tTestC\n')
    for i in range(2):
        f.write(str(A[i]) + "\t")
        f.write(str(B[i]) + "\t")
        f.write(str(C[i]) + "\t\n")

产生:

TestA   TestB   TestC
1   1.5 2.5 
2   0.5 3   

这是另一个应该有帮助的链接:将行写入文件的正确方法?

于 2021-04-09T01:10:24.053 回答