如何将变量的整个数据写入.csv文件?

2024-06-28 15:59:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想存储变量Cp\u cfd的整个值。 Cp_cfd来自数据库,并且

print(Cp_cfd)

[[ 0.09487912  0.05570169  0.03011282 ...  0.19445465  0.18527783
   0.1675001 ]
 [ 0.094499    0.05298308  0.02696439 ...  0.19821845  0.18978267
   0.17296235]
 [ 0.08363242  0.0591914   0.02952287 ...  0.19714396  0.18762188
   0.1678648 ]
 ...
 [-0.02592602 -0.0313541  -0.04409973 ...  0.24386039  0.20862401
   0.1491545 ]
 [-0.0824953  -0.04109486 -0.05317128 ...  0.23705224  0.20034774
   0.13957643]
 [-0.09290421 -0.05173297 -0.06361054 ...  0.23318158  0.19520814
   0.13199864]]

Cp_cfd.shape(11466, 74)

我做了一个代码来存储下面的值

def convert_rae(outf, obj):
    o = open(outf, "w")

    for i in range(len(obj)):
        o.write(str(obj[:,i]) + "\n")

    o.close()

convert_rae("rae_test.csv",Cp_cfd)

但这给了我一个错误

index 74 is out of bounds for axis 1 with size 74

如何有效地(看起来不错)存储值而不出错


Tags: 代码in数据库objconvertfordefrange
2条回答

当您在len(obj) = 11466上循环并访问obj[:, i]时,您将尝试从索引的74列中访问索引。你可能是说obj[i, :]

实现这一点的最佳方法是使用csv library

import csv

def convert_rae(outf, obj):
    with open(outf, "w", newline='') as csvfile:
        csvwriter = csv.writer(csvfile)
        csvwriter.writerows(obj)

convert_rae("rae_test.csv",Cp_cfd)

这可能有效,也可能无效,这取决于您使用的对象类型

相关问题 更多 >