numpy savetxt 没有添加逗号分隔符
Posted
技术标签:
【中文标题】numpy savetxt 没有添加逗号分隔符【英文标题】:numpy savetxt is not adding comma delimiter 【发布时间】:2017-02-06 12:44:22 【问题描述】:我有一个包含以下内容的数组:
3.880631596916139792e-01
6.835074831218364011e-01
4.604322858429276133e-01
3.494236368132551673e-01
7.142120448019100287e-01
2.579415438181463793e-01
8.230159985476581674e-01
7.342531681855216652e-01
3.196536650498674748e-01
7.444435819161493439e-01
我保存如下:
np.savetxt('x.train.1.txt',XTraining, delimiter=',')
但是,当我查看 txt 文件时,没有逗号。
【问题讨论】:
你能发布你在上下文中使用的确切代码吗? 【参考方案1】:我猜默认用例是存储列表列表,这就是为什么您需要将其视为仅包含一个列表的列表:
np.savetxt('x.train.1.txt',[XTraining], delimiter=',')
或者用逗号代替换行符(注意:这会添加一个尾随逗号)
np.savetxt('x.train.1.txt',XTraining, newline=',')
【讨论】:
也许添加OP的代码不起作用的原因将对未来的读者有所帮助 @kmario23,刚刚在解决方案周围添加了一些文字 我认为您的第二个解决方案添加了一个尾随逗号。 @PaulPanzer:谢谢,这是真的,我在答案中添加了注释【参考方案2】:如果您希望它们在单独的行中并以逗号分隔
np.savetxt('x.train.1.txt', XTraining[None, :], delimiter=',\n')
【讨论】:
【参考方案3】:您可以指定格式,例如fmt='%d,',在输出中包含您想要的逗号。
np.savetxt('x.train.1.txt',XTraining, fmt='%d,')
也适用于多列
np.savetxt('x.train.1.txt',XTraining, fmt='%s, %f, %f,')
【讨论】:
以上是关于numpy savetxt 没有添加逗号分隔符的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 3 中将逗号分隔的字符串转换为 Numpy 数组
python - 将文件读入字典 - 用大括号分隔,没有逗号分隔符