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

标签 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 中的条目。这意味着该命令无法找到每个相同的条目,它只找到了一些。

最佳答案

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

例如,如果我有两个文件,file_1.xlsxfile_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_1df_2 将包含该工作表中的所有列

因此,如果我事先知道列的名称,并说它们是 f1_colf2_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/

相关文章:

linux - 在没有 ./configure 或 makefile 的 Linux 中编译程序

vba - Excel - 使用格式(日期)写入文本文件

sql - 如何从与表不具有相同列的 Excel 文件批量插入?

linux - 使用脚本中设置的管道命令的默认值运行 bash 脚本

vba - 并非所有日期都能被 VBA 识别

Python 创建工作队列

python - 努力将相对路径附加到我的 sys.path

python - 化学平衡求解器

python - 使用单个命令从字典列表中获取某个键的所有值

linux - 授予 nrpe 以 root 身份运行检查的 sudo 权限