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 - 将文件读入字典 - 用大括号分隔,没有逗号分隔符

Numpy:是不是可以以逗号分隔的形式显示数字,例如 1,000,000? [复制]

numpy.genfromtxt:不明确的分隔符?

数据分析与展示——NumPy数据存取与函数

添加分隔符并删除逗号