我有两个字符串数组,它们必须按行排列,然后必须写入文本文件
import numpy as np
title1 = np.array(['text1'])
title2 = np.array(['text2'])
np.savetxt('result.csv',(title1, title2),fmt="%s")
结果应该是以以下开头的文件:
text1
text2
但更像是这样:
text1text2
第二个问题是在这两行文字下面,我需要在下一行放一个矩阵(我的矩阵要大得多)。矩阵的条目应该用分号“;”隔开-行的末尾不应该有一个(!)
a=np.array([[1.2,2.3,3.4],[4.5,5.6,6.7],[7.8,8.8,9.8]])
np.savetxt('test.csv', a, delimiter=';', fmt='%.1f')
结果文件应如下所示:
text1
text2
1.2;2.3;3.4
4.5;5.6;6.7
7.8;8.8;9.8
上面的代码不会将下一行的条目放入输出文件的下一行。 (当用记事本打开它时,它不起作用,在excel中似乎起作用。如何在输出中以我描述的方式组合字符串和数字?
我想到了另一条线索:
“a”用于追加模式,但不幸的是,我收到一条错误消息
当我使用'ab'而不是'a'时,我会得到一个在记事本中看起来正确的结果 但现在在excel中,矩阵的前两列有“日期”模式 ……我在这里寻求澄清,以了解发生了什么?
签出this answer。Numpy是根据unix标准编码的,但是记事本不理解并且只需要windows,并且在没有
\r
的情况下不会呈现\n
,但是几乎任何其他非智能软件都会正确地读取它。编辑:如this other question或documentation中所述,numpy.savetxt有一个参数,允许您为windows设置换行编码。所以,如果你真的想和记事本兼容,你需要的是:
相关问题 更多 >
编程相关推荐