我像这样使用标准的 csv.writer
wr = csv.writer(f,csv.QUOTE_NONNUMERIC)
wr.writerows(output)
我希望能够格式化 csv 文件,以便每一列都有 %3.4e。输出是一个二维列表。现在,它似乎是以存储值的任何精度写出来的,它可以是可变的。我在代码时也不知道每个维度的大小,具体来说,每一行有多少个元素,所以我不能简单地写出一个大格式字符串。有没有一种简单的方法可以使用 csv.writer 以一定的精度写入每个数值?
最佳答案
尽管您可能想使用 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])
关于Python csv.writer 控制精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18861420/