我有两个文件,其中有一个我需要比较的特定列。在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中找到该条目。这意味着这个命令找不到每个相同的条目,只找到了一些。
答案 0 :(得分:0)
python pandas有很多您正在寻找的功能。
例如,如果我有两个文件file_1.xlsx
和file_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_1
和df_2
将包含该表中的所有列。
因此,如果我先知道列的名称,并说它们是f1_col
和f2_col
,那么我可以通过创建
series_1 = df_1['f1_col']
series_2 = df_2['f2_col']
现在您可以获取信息provided in this Stackoverflow post并找到两个系列之间匹配的条目。