【发布时间】:2012-03-13 21:49:56
【问题描述】:
我遇到了浮点数在我的 csv 写入过程中被截断的问题。这很难复制,因为它在数千个文件中很少发生,但我需要针对它进行保护。以下是代码的示例:
import csv
import numpy as np
x = np.random.normal(0, .001, 1000).tolist()
draws_header = ['draw%s'%(x) for x in range(1000)]
final_output = np.array(x)
outfile = open('filepath.csv', 'w')
writer = csv.writer('filepath')
writer.writerow(first_row)
writer.writerows(final_output)
outfile.close()
根据输出(其中所有数字必须小于 1),看起来小数字中的最后一个字符(即“...e-5”)正在丢失:
draw373 draw374 draw375 draw376
0.000744 0.003008 0.001566 9.727522
关于如何防止这种情况的任何建议?
【问题讨论】:
标签: python csv floating-point truncate