CSV 文件中的值限制为小数点后 9 位

CSV 文件中的值限制为小数点后 9 位

我遇到一个问题,我认为该问题是由操作系统或区域设置引起的,但我不确定,因为我似乎无法修复该问题。我有两个相同的 .csv 文件,它们都是在不同的计算机上创建的。当我运行代码或在 Excel 中打开它们时,其中一个 csv 文件将小数位数限制为仅显示 9 位。

我创建了以下简单的 csv 文件,其中至少有一个条目:

title,value
"My Name",2.121234521158785

该文件是在两台不同的 Windows PC 上分别创建的(PC A 是物理桌面,PC B 是 VDI(虚拟机)——不确定这是否相关)。然后我运行以下 Python 代码,该代码读取文件并输出值:

df1 = pd.read_csv('path_to_file', sep=',')
first_value = df1.loc[0, 'value']
print("Value: ", first_value)

即使在记事本中打开这两个文件完全相同,但打印结果却不同。

文件 A 的结果:

Value: 2.121234521158785

文件 B 的结果:

Value: 2.121234521

创建 csv 文件时是否有任何已知设置需要注意?也许文件的属性不正确?

此外,当我在一台设备上用 Excel 打开文件时,系统提示“Excel 将在此文件中执行以下数据转换:将大数字转换为科学计数法”。如果我接受转换,则值限制为小数点后 9 位。如果我选​​择“不转换”,则单元格前面会添加一个 ',并显示完整值。

答案1

CSV(C奥玛年代已处理值,尽管制表符或其他字符也可以用作分隔符)文件只是文本,由应用。您可以在文本编辑器中手动创建它,并且有精度方面的限制。如果你比较两个 CSV 文件并且它们是相同的,那么得到不同结果的唯一解释就是工具用于存储和比较田野。

机器的 Python 版本是否相同?检查Python 精度两台电脑上是否相同。这些机器是否使用浮点或者十进制算术?其中一人或两人是否使用设置精度? 操作系统是否相同?

您是否在使用 MS Excel,其中舍入精度是否设置了不同的设置?小数位数指定不同吗?

相关内容