python用于循环和指令:用于文件A中的行:从文件B获得匹配的输出

python用于循环和指令:用于文件A中的行:从文件B获得匹配的输出,python,r,dictionary,Python,R,Dictionary,我有两个.csv文件,A和B。A有1000000行和2列;B有20行和2列。它们看起来像这样: A: B: A和B有一个包含3个变量(x、y、z)的列Var1,但在A中它们不是唯一的,而在B中它们是唯一的。B有一个附加的Var2列,包含3个变量(a、B、c)。使用Python或R,我想创建一个新的文件C,通过向a追加一个新的列Var2,并在a和B之间匹配Var1,这样我可以得到如下结果: C: 我一直在Python中使用字典和for循环,但没有成功。我的问题是,如果我使用“for A:”我只从A

我有两个.csv文件,A和B。A有1000000行和2列;B有20行和2列。它们看起来像这样:

A:

B:

A和B有一个包含3个变量(x、y、z)的列Var1,但在A中它们不是唯一的,而在B中它们是唯一的。B有一个附加的Var2列,包含3个变量(a、B、c)。使用Python或R,我想创建一个新的文件C,通过向a追加一个新的列Var2,并在a和B之间匹配Var1,这样我可以得到如下结果:

C:

我一直在Python中使用字典和for循环,但没有成功。我的问题是,如果我使用“for A:”我只从A获取输出信息;然而,如果我使用“for B:”我只从B获取输出信息。我知道这没有逻辑意义,但我想做一些类似的事情:“for A,从B获取匹配的输出信息”

重要提示:通过用户的反馈,我刚刚意识到“merge”操作非常简单,可以使用“pandas”(python)或R(dplyr,merge)。它比我想象的要简单。

使用以下代码

import pandas as pd
# create your two dataset here and perform below operation
pd.merge(FIRST_TABLE, SECOND_TABLE, how='left', on=['Var1'])

希望这有帮助

在python的
pandas
()中,您可以轻松地进行合并

C = A.merge(B, on = "Var1")

只需执行一个
合并(a,B)
库(dplyr);在
R
中加入(A,B)
非常感谢@akrun,它工作得非常好!我认为这不是复制品。熊猫太过分了
Var1   S    Var 2
x      2    a
y      1    b
z      7    c
x      2    a
x      3    a
z      4    c
import pandas as pd
# create your two dataset here and perform below operation
pd.merge(FIRST_TABLE, SECOND_TABLE, how='left', on=['Var1'])
C = A.merge(B, on = "Var1")