我有一个字典想要写入csv文件,但是当我把字典写入文件时,其中的浮点数被四舍五入了。我想保留最大精度。
在哪里进行了四舍五入,我该如何防止它发生?
在哪里进行了四舍五入,我该如何防止它发生?
我的做法
我遵循了这里的DictWriter示例,并且我正在Mac(10.6 - Snow Leopard)上运行Python 2.6.1。# my import statements
import sys
import csv
这是我的字典(d)包含的内容:
>>> d = runtime.__dict__
>>> d
{'time_final': 1323494016.8556759,
'time_init': 1323493818.0042379,
'time_lapsed': 198.85143804550171}
这些值确实是浮点数:
>>> type(runtime.time_init)
<type 'float'>
然后我设置了我的编写器并编写了标题和值:
f = open(log_filename,'w')
fieldnames = ('time_init', 'time_final', 'time_lapsed')
myWriter = csv.DictWriter(f, fieldnames=fieldnames)
headers = dict( (n,n) for n in fieldnames )
myWriter.writerow(headers)
myWriter.writerow(d)
f.close()
但是当我查看输出文件时,我得到的是四舍五入的数字(即浮点数):
time_init,time_final,time_lapsed
1323493818.0,1323494016.86,198.851438046
< EOF >