在python中的输出文件中打印结果列表

时间:2018-02-21 09:31:40

标签: python spyder

我正在尝试在csv文件中打印列表。代码将在控制台中打印列表,但是当我将其推送到csv中打印时,它会将其打印在集群阵列中。

以下是代码:

for pred in y_pred1:
    resultsFile = open('results.csv', 'w')
    print(y_pred1, end='\n', file = resultsFile)
    resultsFile.close()

对于该段,它输出文件,但输出如下:

[0.         0.02466293 0.04371493 0.07445887 0.10470171 0.1899941
 0.         0.02395268 0.04299739 0.07386746 0.11551061 0.32383927
 0.         0.02564607 0.04576736 0.07179424 0.10852157 0.18824359
 0.         0.02395268 0.04299739 0.07386746 0.11551061 0.15899986
 0.         0.02655989 0.05173249 0.08852134 0.02564607 0.04576736
 0.07179424 0.10852157 0.02564607 0.04576736 0.07179424 0.10852157
 0.15423326 0.         0.02395268 0.04299739 0.07386746 0.11551061
 0.         0.02564607 0.04576736 0.07179424 0.10852157 0.15423326
 0.         0.02395268 0.03308567 0.05735641 0.12299032 0.
 0.02679364 0.03308567 0.05735641 0.12299032 0.16938186 0.25925685
 0.         0.         0.         0.         0.         0.
 0.        ]

我想让它作为一个列表输出,每个结果都放在一个新的单元格中,如下所示:

result 1
result 2
result 3
result 4...etc

如果我运行相同的代码而不将其输出到文件,它会在控制台中生成我想要的列表。只要我在文件中指定我想要它,它就会成为一个集群。

帮助!

1 个答案:

答案 0 :(得分:0)

那是因为您传递列表对象以作为单个参数进行打印。将值列表作为要打印的位置参数列表传递时,可以使用星号: print(* y_pred1,end =' \ n',file = resultsFile) 但是,对于您正在做的事情,最好使用csv模块。 https://docs.python.org/2/library/csv.html#csv.writer