当前位置: 首页 > 知识库问答 >
问题:

比较三个。csv文件和输出相似性

阳俊德
2023-03-14

我正在使用bash脚本进行一个项目,以读取三个不同的. csv文件并输出类似的行。三个. csv文件的格式相同,信息相同,但第二列可能不同。例如,如果我有三个csv文件,分别名为A. csv、B. csv和C. csv。

A.csv
Animal, Color, Age
Dog, Brown, 9
Cow, White, 3
Cat, Black, 5
Parrot, Blue, 2

B.csv
Animal, Color, Age
Dog, Black, 9
Cow, White, 3
Cat, Brown, 5
Parrot, Blue, 2

C.csv
Animal, Color, Age
Dog, Brown, 9
Cow, White, 3
Cat, Tan, 5
Parrot, Blue, 2

运行程序后,我希望得到如下输出:

Animal, Color, Age
Cow, White, 3
Parrot, Blue 2

我已经读了关于dium3的文章,但这只是输出与我正在尝试做的相反的差异。任何帮助都将不胜感激。谢谢

共有3个答案

孟健
2023-03-14

有点复杂,但完成了工作

 sort <(tail -n +2  A.csv) <(tail -n +2 B.csv) | 
 uniq -d | sort <(tail -n +2  C.csv) - |
 uniq -d | cat <(head -1 A.csv) -
上官和韵
2023-03-14

使用awk

awk '
FILENAME==ARGV[1]{a[$0]++;next}
FILENAME==ARGV[2] && ($0 in a){b[$0]++;next} 
$0 in b' A.csv B.csv C.csv 
Animal, Color, Age
Cow, White, 3
Parrot, Blue, 2
闽涵蓄
2023-03-14

使用grep

grep A.csv -f B.csv | grep -f C.csv

grep-f文件从文件中获取模式

输出:

Animal, Color, Age
Cow, White, 3
Parrot, Blue, 2
 类似资料:
  • 问题内容: 我需要比较两个CSV文件并在第三个CSV文件中打印出差异。在我的情况下,第一个CSV是一个名为old.csv的哈希表的旧列表,第二个CSV是包含新旧哈希表的新哈希表。 这是我的代码: 第三个文件是旧文件的副本,而不是更新文件。怎么了 ?我希望你能帮助我,非常感谢! PS:我不想使用diff 问题答案: 问题在于您正在将中的每一行与中的同一行进行比较。只要一个文件中有多余的一行,您就会发

  • 我有两个文件-file1.txt和file2.txt。我想用powershell比较这两个文件,并生成第三个文件(file3.txt),它包含从file1.txt开始的所有行减去file2.txt中的行 你能想出什么办法来做这件事吗?

  • 问题内容: 我正在尝试将一张图片与其他图片列表进行比较,并返回该列表中具有最高70%相似度的图片(例如Google搜索图片)。 我在这篇文章中获得了这段代码,并根据自己的情况进行了更改 我的问题是,如何将图像与图像列表进行比较并仅获得相似图像?有什么方法可以做到这一点? 问题答案: 我建议您看一下图像之间推土机的距离(EMD)。该度量给人一种将标准化的灰度图像转换成另一幅图像有多难的感觉,但可以将

  • 问题内容: 我花了很多时间研究一个库,该库使我可以用Java比较图像。 我并没有真正找到有用的东西,也许我的GoogleSearch技能还不够高,所以我想问一下你们是否可以指出我在哪里可以找到这样的东西。 基本上我想做的是将两个图像相互比较,并获得两个相似程度的值。大约一个百分比。 我希望你们有我可以使用的东西,我自己不知道该怎么写… PS:不一定必须使用Java,这只是我的应用程序将要运行的环境

  • 我正在尝试将2个文件与Python CSV模块进行比较。 第一个CSV文件如下所示: 第二个CSV文件: 如果列名和列龄相等,则在输出中返回两个文件的磅数。 输出文件示例: 多谢了。