在Python中:如何写一个稀疏matrix到CSV文件?

我是Python的新手。 我已经通过一个脚本生成随机数字,并把它们放在一个126×81稀疏matrix。 我想生成一个csv文件: Cell_ID ; Cell_X ; Cell_Y ; Val 。 单元格X和Y当然是每个单元格的坐标。 我有一个脚本生成一个“outputs.csv”文件的循环,但其中的数据不按照我想要的方式显示(每行的开始/结束处有方括号,并有省略号[… ]代替一些价值)。 总之,我无法读取matrix的全部内容。

如果可以的话,我会上传一张图片,告诉你如何在“记事本”或“Excel”中读取这些数据,但我不能这么做。 但是,这些数据应该看起来像一个典型的csv文件,每个值都在列的下方。 谢谢你的帮助! 🙂

由于标准库支持csv,我们来使用它:

 import numpy import csv N = 126 M = 81 g = numpy.random.rand(N, M) with open('test.csv', 'w') as f: writer = csv.writer(f) writer.writerow(['x', 'y', 'value']) for (n, m), val in numpy.ndenumerate(g): writer.writerow([n, m, val])