我使用 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
这不是最佳做法,而且确实不太好看,但是......