Python csv.writer 控制精度

标签 python csv format precision

我像这样使用标准的 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/

相关文章:

python - 如何使用字符串格式打印 '%' 标志?

python - 如何使用boto3获取公共(public)IP

php - SQL 无法获取记录

Python pandas 从嵌入 Web txt 文件中的 csv 创建数据框

php - 在php中将.csv文件导入mysql

android - 自定义我的自动完成下拉菜单的格式

python - 如何获得三对角托普利茨矩阵的实特征值和特征向量?

python - Keras Sklearn RandomizedSearchCV GPU OOM 错误

C# xml : How to save nested rows

php - 调整图像大小和图像格式