我试着用excel读取数据pandas.excel文件()到数据帧中,然后使用tocsv输出文本文件。在
此输出文本文件的精度应为小数点后20位,并四舍五入到小数点后20位。在
如果excel中的输入值是.005,我的代码会将其转换为0.0050000000000000001,因为最后一个数字是不正确的。应为0.0050000000000000000
我的代码是:dataFrame = pd.ExcelFile("xlFile.xlsx")
pd.set_option("display.precision", 20)
dataFrame.ColumnToRound = dataFrame.ColumnToRound.round(20)
dataFrame.to_csv("out.txt", index=False, sep='\t', float_format='%.20f')
输入的excel文件如下所示(为了简单起见,只需一列和一个值):
柱状圆形
.005
我曾经尝试过在读取excel文件时使用kwarg float_precision='round_trip'pandas.excel文件(),但这并没有什么不同。在
旁注:是的,我知道小数点后20位太多了,而且可能是多余的,但这不是我的决定。必须是小数点后20位。在