ValueError:只能使用MYSQL表比较标记相同的Series对象

时间:2018-07-16 08:20:12

标签: mysql python-2.7 pandas dictionary

我有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

0 个答案:

没有答案