Python 如何将numpy数组以字符串形式写入文件?

Python 如何将numpy数组以字符串形式写入文件?,python,Python,我有一个numpy数组,如下所示: n= [['20015' '20013' '20044' '20001' '20002'] ['20002' '20015' '20001' '20013' '20070'] ['20044' '20013' '20015' '20001' '20002'] ['20071' '20015' '20070' '20001' '20002']] 我希望以以下形式将此列表打印到文件中: 20015, 20013, 20044,

我有一个numpy数组,如下所示:

 n=   [['20015' '20013' '20044' '20001' '20002']
     ['20002' '20015' '20001' '20013' '20070']
     ['20044' '20013' '20015' '20001' '20002']
     ['20071' '20015' '20070' '20001' '20002']]
我希望以以下形式将此列表打印到文件中:

20015, 20013, 20044, 20001, 20002
 20002, 20015, 20001, 20013, 20070
如何摆脱列表列表,但仍将分组的5保持在一起: 我试过:

    f=open("myfile.txt, "w")
    n=clf.classes_[order[:, -5:]]
    print(n)
    str1=''.join(str(x) for x in n)
    print>>f, str1
    f.close()

但这又将它们放在了一个列表中。

如果我理解正确,您只需要打印问题中所示的元素。这应该起作用:

with open("myfile.txt", "w") as f:
    for row in n:
        s = ', '.join(str(x) for x in row)
        f.write(s)
        f.write("\n")
试试这个

text = '\n'.join(', '.join(ni) for ni in n)
with open('myfile.txt','w') as f:
    f.write(text)

这应该满足您的要求:

>>> n = [[20015, 20013, 20044, 20001, 20002],
     [20002, 20015, 20001, 20013, 20070],
     [20044, 20013, 20015, 20001, 20002],
     [20071, 20015, 20070, 20001, 20002]]
>>> with open('myfile.txt', 'w') as file:
    for row in n:
        print(*row, sep=', ', file=file)

>>> 
证明其正常工作很简单:

>>> print(open('myfile.txt').read())
20015, 20013, 20044, 20001, 20002
20002, 20015, 20001, 20013, 20070
20044, 20013, 20015, 20001, 20002
20071, 20015, 20070, 20001, 20002

>>>