linux - 如何从不同的起点向 csv 文件的多行添加特定值?

标签 linux csv sqr

我使用 SQR 创建了一个包含多行数据的逗号分隔 .csv 文件。每行有四组不同的数据。一组是货币值(value)。我正在尝试使用 Linux 脚本从 .csv 文件中提取每一行的货币值(value),并获取所有行货币值(value)数据的总货币值(value)。我的问题是,每个货币值(value)的起点根据货币金额之前写入的信息而变化。此外,每笔金额的终点也各不相同。我不知道如何处理这个问题。我需要帮助编写一些代码,这些代码只能提取每行的货币值并将其与下一行相加,依此类推。以下是 .csv 文件外观的示例。第一列是业务单位,第二列是项目 ID,第三列是货币值,第四列是项目审批者姓名。你能帮忙吗?

EDJ,50007556,587850,"Project Approver"
EDJ,50007557,348462.25,"Project Approver"
CAN,50002657,8245.75,"Project Approver"
EJTC,00000010,198746.30,"Project Approver"

最佳答案

您可以使用cut 在分隔文件中选择一列:

cut -f3 -d, FILE # comma as the delimiter, third column

为了对这些值求和,我将使用 Perl:

cut -f3 -d, FILE | perl -lne '$s += $_ }{ print $s'

但是,Perl 本身可以处理列,因此不需要 cut:

perl -F, -ane '$s += $F[2] }{ print $s' FILE

关于linux - 如何从不同的起点向 csv 文件的多行添加特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695134/

相关文章:

c - 为单元测试构建过程代码

c++ - 简单的 OpenGL 应用程序

java - 在服务器上安装 ANT(和 JAVA)

php - 如何使用我的服务将联系人导出到 CSV?

javascript - 带有 Express 的 Node.js - 返回指向 .CSV 文件的链接而不是下载它

sql - 触发器仅将变量的 1 个字符插入表中

java - 为什么 $4945932$ 的平方结果是负数?

python - FIFO(命名管道)消息传递障碍

linux - 如何对压缩的非标准文本文件的内容进行 grep

python - 用 pandas 求和不同的列。 Python