长数字的永久解决方案是 Excel 用加号显示

长数字的永久解决方案是 Excel 用加号显示

我使用 Python 代码创建了一个 csv 文件,打开后,我可以看到长数字显示为 +在中间。

Example
1.4554564548482346E+19

在寻找答案时,我发现我要做的就是选择列,转到“设置单元格格式”,然后转到“自定义”,然后选择显示 0 的选项。

这解决了问题。我的问题是是否有任何方法可以使此解决方案永久有效。这样我就不必每次创建新的 csv 文件时都执行相同的过程。

我不想创建任何宏,我希望有机会更改 Excel 的设置以使其自定义。

答案1

我认为最好的选择是修改 python 代码,以便它以正确的格式保存数字(excel 是真的对于这种事情来说,这太笨重了)。使用 Numpy 库,你可以指定如何保​​存值 - 代码如下: np.format_float_positional(num, trim='-')

另一个选择是将其作为文本保存在 csv 中(就 python 而言)。您可以简单地使用 保存每个值f'{a:.20f}'。Python 认为这是一个字符串,但 excel 会在您导入时自动将其转换为数字。

Stack Overflow 答案中提供了更完整的描述这里

其他选项是进行设置,这样您实际上就不会在 excel 中打开 csv 文件,只需使用从文本导入功能设置数据链接即可。这意味着您可以拥有一个数据输入表(带有链接)并从另一个表(格式正确)链接到它。这还允许您在运行 python 代码时保持 excel 文件打开,而无需锁定 csv 文件并收到 python 不可写错误...

其他 其他选项取决于(如注释中所述)的性质,qu.text如果它是一个列表或数组,你可以嵌套for循环并有

 output = []
 for q in qu.text:
     output.append(f'{q:.20f}')
 row["selects" ]= output

这不是最佳做法,而且确实不太好看,但是......

相关内容