2016-02-19 58 views
2

我有一个numpy的数组是这样的:如何以字符串形式将一个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() 

但是,这又使他们在列表中。

回答

2

如果我的理解正确,你只是想打印出你的问题所示的元素。这应该工作:

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") 
1

试试这个

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

这应该做你问:

>>> 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 

>>>