将 libreoffice calc 公式编写成 csv 脚本
Scripting libreoffice calc formula into csv
我有一个 bash 脚本,可以将从原始日志文件中提取的一些数据写入 csv 格式的文件中。现在我想在此数据集上应用 libreoffice calc 公式。我的想法是直接从 bash 脚本在 csv 文件中编写 "raw" 计算公式(使用 ';' [分号] 而不是 ',' [逗号] 来分隔数据以避免破坏公式)。所以我有一个这样的脚本(例如):
#!/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()
但没有用。
有没有办法强制计算公式?还是有其他方法可以做我想做的事(无需学习新语言...)?
删除等号前的前导 space 后应该可以使用。第三个字段当前包含内容 =SUM(A1, B1)
(注意前导 space)。如果内容以 =
而不是 =
:
开头,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)
我有一个 bash 脚本,可以将从原始日志文件中提取的一些数据写入 csv 格式的文件中。现在我想在此数据集上应用 libreoffice calc 公式。我的想法是直接从 bash 脚本在 csv 文件中编写 "raw" 计算公式(使用 ';' [分号] 而不是 ',' [逗号] 来分隔数据以避免破坏公式)。所以我有一个这样的脚本(例如):
#!/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()
但没有用。
有没有办法强制计算公式?还是有其他方法可以做我想做的事(无需学习新语言...)?
删除等号前的前导 space 后应该可以使用。第三个字段当前包含内容 =SUM(A1, B1)
(注意前导 space)。如果内容以 =
而不是 =
:
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)