2

我必须将一个二维数组(比如说数组[100][20])写入一个文件。这只是我的代码的一个示例:

for i in range(0,99):
  print >> file, "%15.9e%24.15e%3d..." % (array[i][0], array[i][1], array[i][2], ... )

是否可以在“%”符号后用切片或类似符号缩短它?

4

2 回答 2

3

你可以这样做:

print >> file, format_string % tuple(array[i])

也就是说,我认为我可能会numpy在这里使用非 ascii 格式保存数据以提高效率(无论是在执行 IO 和磁盘空间所花费的时间方面)。

于 2013-01-17T14:42:21.133 回答
2

冒着被否决的风险,你确定你问的是正确的问题吗?我总是发现,如果某些东西很难看或很难,它可能不是最好的方法,尤其是在 Python 中。

您可以查看csv 模块--- 您到底想写什么格式?

还有texttable模块,它为您制作漂亮的表格,甚至会将它们转储到文本文件中。

最后,如果你愿意的话,还有Python Excel Utilities,它将把东西转储到 Excel 电子表格中。我已经在该模块中围绕 excel 读取和 excel 写入接口编写了一些包装器,如果您愿意,我将在此处发布它们——它们没有什么特别之处,但它们可能会为您节省一些时间。

于 2013-01-17T14:49:31.983 回答