我有3张桌子: sample_divya1:
| idnum |客户名称|
| 1234 | revgen |
| 1235 | revgen1 |
sample_divya_1234:
|电邮|名称| idnum |
| dia@gmail.com |苏里亚| 1235 |
| divadya@gmail.com |萨代| 1237 |
| divya@gmail.com |赛| 1234 |
sample_divya_1235:
|电邮|名称| idnum |
| divadya@gmail.com |萨代| 1237 |
sample_divya3:
| fname |客户名称|
| divya | revgen |
|多莉| revgen1 |
现在从表sample_divya1中选择idnum和clientname ......首先,如果您观察到这些idnum具有单独的表.....因此,从每个表中以相同的方式提取电子邮件,lname,并同时为客户名获取另一个表,其中所有客户端名称都存在,因此将客户端名称与从firsttable中提取的客户端名称匹配,并获得fname .... all应该同时进行,并且对于那个特殊的idnum .....电子邮件,lname和fname应该放在新表中,例如sample_output。>
我能够做所有事情,但问题是:
import pandas as pd
import pymysql
import pymysql.cursors
from sqlalchemy import create_engine
from time import time
engine= create_engine("mysql+pymysql://")
data2=pd.read_sql_table('sample_divya1',con=engine)###idnum,clientname
data3 = pd.read_sql_table("sample_divya3", con=engine)####cllientname table
df1 = data2[['idnum','clientname']]
for id in df1['idnum']:
print id
data=pd.read_sql_table("sample_divya_"+ id , con=engine)
df2 = data.iloc[:,[1,2]]
# print data['lname']
df2.to_sql("sample_output1",con=engine,if_exists='replace',index='none')
client = data2.loc[data2.idnum == id,'clientname']
print client
df3 = data3.loc[data3.clientname == client, 'fname']{##this step i m not able to get######}
print df3
输出: 0 1234 1 1235 名称:idnum,dtype:对象 1234 电子邮件lname idnum 0 divadya@gmail.com Sadai 1237
回溯(最近通话最近): 在第24行中输入文件“ C:/Users/divya.nagandla/PycharmProjects/python/supressions1/python16.07.py” df3 = data3.loc [data3.clientname ==客户端,'fname'] 包装中的文件“ C:\ Users \ divya.nagandla \ PycharmProjects \ python \ venv \ lib \ site-packages \ pandas \ core *强调文本* ops.py”,行879 0 revgen 名称:客户名称,dtype:对象 res = na_op(值,其他) 文件“ C:\ Users \ divya.nagandla \ PycharmProjects \ python \ venv \ lib \ site-packages \ pandas \ core \ ops.py”,行783,在na_op中 结果= _comp_method_OBJECT_ARRAY(op,x,y) _comp_method_OBJECT_ARRAY中的第761行“ C:\ Users \ divya.nagandla \ PycharmProjects \ python \ venv \ lib \ site-packages \ pandas \ core \ ops.py” 结果= lib.vec_compare(x,y,op) 在pandas._libs.lib.vec_compare中的文件“ pandas_libs \ lib.pyx”,第742行 ValueError:数组的长度不同:2 vs 0