比较和查找不同Excel文件的两个特定列中的相同条目

时间:2015-02-12 13:15:50

标签: python linux excel shell

我有两个文件,其中有一个我需要比较的特定列。在file1上有第四列。在file2上,所需的列位于第三列。我需要在这两个文件及其指定的列中找到相同的条目。

文件1

1 name addons wanted_column amount host

文件2

1 name wanted_column 

我可以使用Linux shell脚本,Python或Windows上的任何东西,只要它的免费软件/免费软件。

好的,有人问我,我尝试了什么。我将整个列从file1和file2复制到文本文件。然后我尝试了这个命令:

diff --changed-group-format='' --unchanged-group-format='%=' file1.txt file2.txt > output.txt

这确实给了我想要的输出,但是当我比较从file1和file2之间的wanted_column中随机获取的数据时,我无法从output.txt中找到该条目。这意味着这个命令找不到每个相同的条目,只找到了一些。

1 个答案:

答案 0 :(得分:0)

python pandas有很多您正在寻找的功能。

例如,如果我有两个文件file_1.xlsxfile_2.xlsx(假设工作表名称)在每个文件中都是Sheet_1,那么我可以创建两个pandas.DataFrame s ,像这样:

import pandas

f = pandas.ExcelFile('file_1.xlsx')
df_1 = f.parse('Sheet_1', index_col = None)

f = pandas.ExcelFile('file_2.xlsx')
df_2 = f.parse('Sheet_1', index_col = None)

我现在有两个非常灵活的数据结构来操作和比较。

注意: df_1df_2将包含该表中的所有列

因此,如果我先知道列的名称,并说它们是f1_colf2_col,那么我可以通过创建

来专门检查这些列
series_1 = df_1['f1_col']
series_2 = df_2['f2_col']

现在您可以获取信息provided in this Stackoverflow post并找到两个系列之间匹配的条目。