我有两个文件,其中有一个特定的列需要比较。在 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 中的条目。这意味着该命令无法找到每个相同的条目,它只找到了一些。
最佳答案
python pandas有很多您正在寻找的功能。
例如,如果我有两个文件,file_1.xlsx
和 file_2.xlsx
,假设每个文件中的工作表名称均为 Sheet_1
,那么我可以创建两个 pandas.DataFrame
,如下所示:
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_1
和 df_2
将包含该工作表中的所有列。
因此,如果我事先知道列的名称,并说它们是 f1_col
和 f2_col
,那么我可以通过创建来专门检查这些列
series_1 = df_1['f1_col']
series_2 = df_2['f2_col']
现在您可以获取信息provided in this Stackoverflow post并查找两个系列之间匹配的条目。
关于python - 比较并查找不同 Excel 文件的两个特定列中的相同条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28478432/