将libreoffice calc公式编写成csv

问题描述 投票:1回答:1

我有一个bash脚本,它将从原始日志文件中提取的一些数据写入csv格式的文件中。现在我想在此数据集上应用libreoffice calc公式。我的想法是直接从bash脚本在csv文件中编写“原始”计算公式(使用';'[分号]而不是','[逗号]来分隔数据以避免破坏公式)。所以我有一个这样的脚本(例如):

#!/bin/bash
for (( i=1; i<=5; i++ ))
do
    echo "$i; $((i+1)); =SUM(A$i, B$i)" >> sum.csv
done

执行此脚本会提供此sum.csv文件:

1; 2; =SUM(A1, B1)
2; 3; =SUM(A2, B2)
3; 4; =SUM(A3, B3)
4; 5; =SUM(A4, B4)
5; 6; =SUM(A5, B5)

当我用calc打开它时,它给出了预期的结果,每个值在单个单元格中分开。但问题是不评估公式。即使手动编辑单元格也不会触发评估。唯一有效的方法是复制没有'='的公式并手动写'=',然后粘贴公式。

我尝试使用INDIRECT()但它没有帮助。

有没有办法强制评估公式?或者是否有其他方法可以做我想要的事情(没有学习新语言......)?

bash csv libreoffice-calc
1个回答
2
投票

它应该在等号前删除前导空格后工作。第三个字段目前有内容 =SUM(A1, B1)(注意领先的空间)。如果内容以=而不是 =开头,LO将识别公式:

1;2;=SUM(A1, B1)
2;3;=SUM(A2, B2)
3;4;=SUM(A3, B3)
4;5;=SUM(A4, B4)
5;6;=SUM(A5, B5)
© www.soinside.com 2019 - 2024. All rights reserved.