【发布时间】:2016-06-16 03:12:30
【问题描述】:
我有两个 csv 文件,一个是带有标题的单列,另一个是带有标题的多列。我想在一个列文件中查找值并在另一个文件中搜索具有相同标题的列。一旦找到匹配项,我希望打印整行。我知道这是一个 vlookup 函数,但是具有多列的 csv 文件非常大,当我尝试使用公式来完成此操作时,excel 总是崩溃。所以我一直在尝试使用python作为解决方案。
我正在接受这个专栏:
age
23
43
18
搜索此表:
Name, age,number,AA,BB,CC,DD,EE
John, 23, 1, 34,35,36,37,38
Mary, 32, 2, 33,34,35,36,37
Jacob , 43, 3, 32,33,34,35,36
Matthew,22, 4, 31,32,33,34,35
Jean, 18, 5, 30,31,32,33,34
试图打印这个:
Name, age,number,AA,BB,CC,DD,EE
John, 23, 1, 34,35,36,37,38
Jacob , 43, 3, 32,33,34,35,36
Jean, 18, 5, 30,31,32,33,34
我一直在尝试使用此代码,但我搞混了,它只是将第一行打印为一列:
with open('/home/s/Untitled 1.csv') as f:
r=pandas.read_csv(f)
with open('/home/s/Test1.csv','r') as w:
x=pd.read_csv(w)
col=w['age']
for line in w:
for col in w:
for row in r:
if row in col:
print(line)
我基本上希望脚本使用查询列中的第一个条目来搜索数据表中具有相同标题的列并打印该行,循环查找下面行中的其余条目。
任何建议将不胜感激!
【问题讨论】: