使用Libre Office Calc从csv科学数字表示导入不允许任何数学值
我有一个带有一些小数字的csv
文件。 当我使用Libre Office Calc导入它时,数字用科学记数法表示。
然后,当我尝试使用这些数字进行任何数学运算时,我总是获得#VALUE!
为什么??
相反,在同一个csv中我也有例如,在单元格I1内部为0 ,如果我做=I1+1
则结果为1
。
那么其他数字有什么问题呢?
这是一个文件的例子:
说明
请注意,您问题中屏幕截图中D列中的数字正确调整为数字,而带有点的其他数字则调整为文本。
我认为你有一个使用逗号而不是点的语言环境.
分开小数。
因此,如果在导入数据之前转换csv文件(用逗号替换点),它应该可以工作。
转换为tr
您可以使用tr
用逗号替换小数点。 最好先检查(在编辑器中)没有要保留的“其他点”。 例如,可能有逗号分隔列,您应该在替换小数点之前将它们转换为制表符。
例如(使用您自己的文件名)
< csv-dot.txt tr ',' '\t' | tr '\.' ',' > csv-comma.txt
例
$ echo 5.4e-07,4.00e-07>csv-dot.txt $ < csv-dot.txt tr ',' '\t' | tr '\.' ',' > csv-comma.txt $ for i in csv-*;do echo -n "$i: ";cat "$i"; done csv-comma.txt: 5,4e-07 4,00e-07 csv-dot.txt: 5.4e-07, 4.00e-07