Python 如何将numpy数组以字符串形式写入文件?
我有一个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,
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
>>>