如何在Python中将浮点列表写入文件

11 投票
5 回答
73349 浏览
提问于 2025-04-15 11:35

我需要把一系列的矩阵写入一个普通的文本文件,使用的是Python。我的所有矩阵都是浮点数格式,所以简单的 file.write()file.writelines() 方法都不管用。

有没有什么转换的方法可以用,不用一个个循环遍历所有的列表(在我的情况下,矩阵是一个列表的列表),去转换里面的每个值呢?

我想我应该再说明一下,其实不需要看起来像矩阵,只要把相关的值放在一个容易解析的列表里就行,因为我后面还会读取这些数据。把所有值放在一行其实可能会更简单!

5 个回答

5

为什么不使用 pickle 呢?

import cPickle as pickle
pckl_file = file("test.pckl", "w")
pickle.dump([1,2,3], pckl_file)
pckl_file.close()
11

以下内容对我有效:

with open(fname, 'w') as f:
    f.writelines(','.join(str(j) for j in i) + '\n' for i in matrix)
16
m = [[1.1, 2.1, 3.1], [4.1, 5.1, 6.1], [7.1, 8.1, 9.1]]
file.write(str(m))
def format(value):
    return "%.3f" % value

formatted = [[format(v) for v in r] for r in m]
file.write(str(formatted))

如果你想对每个值的格式有更多的控制:

撰写回答