最近在用python处理数据的时候发现了一个问题,在使用pandas库将数据保存为csv文件时发生了精度丢失,在转换之前数据的精度为18位,转换为csv文件后使用pandas.read_csv重新读入发现精度缺失,精度仅为16位数。经过多次查找找到了一种简单的解决办法,在使用pandas.read_csv时加入dtype=str,
data=pd.read_csv(path,dtype=str,header=None)
data=data.astype('float64')
通过以上方式发现精度没有发生丢失,我们还可以在使用to_csv时指定保留的小数位数
outfile.to_csv('outfile.csv', index=False, encoding='gbk',float_format='%.3f')