首页 > 解决方案 > 将标量写入 CSV (Numpy)

问题描述

我正在迭代生成许多测试文件,该过程派生一个 0、1 或 2 维 numpy 数组,然后将该数组写入 CSV,至少这是本意。

有没有人对此有很好的解决方案?

当输出为零维(标量)时,我的代码(预期)失败:

for key in testfiles:
    tname = key + ".csv"
    np.savetxt(tname, testfiles[key], delimiter=",",newline=';',fmt='%0.15f')

标签: pythonnumpyexport-to-csv

解决方案


有几种方法可以确保您的输入不是 numpy 中的标量。例如,您可以使用np.array

arr = np.array(testfiles[key], ndmin=1, copy=False)

另一种选择是np.atleast_1d

arr = np.atleast_1d(testfiles[key])

这两个选项都将尝试在不复制数据的情况下创建对象。在这两种情况下,传递arrnp.savetxt而不是testfiles[key]


推荐阅读