3

我像这样使用标准的 csv.writer

wr = csv.writer(f,csv.QUOTE_NONNUMERIC)
wr.writerows(output)

我希望能够格式化 csv 文件,以便每一列都有 %3.4e。输出是一个二维列表。现在,它似乎是以存储值的任何精度写出来的,它可以是可变的。我在代码时也不知道每个维度的大小,特别是每行中有多少个元素,所以我不能简单地写出一个大格式字符串。有没有一种简单的方法可以使用 csv.writer 以一定的精度写入每个数值?

4

1 回答 1

7

您仍然可以使用格式字符串输出任意长度的列表,尽管您可能想要使用 csv.QUOTE_NONE:

wr = csv.writer(f, quoting=csv.QUOTE_NONE)
for i in output:
    wr.writerow(['{:3.4e}'.format(x) for x in i])
于 2013-09-18T01:33:12.627 回答