<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def loadTableData(self, df, df_key='index',table="node", table_key_column = "name", \ network="current",namespace="default",verbose=False):
 """ Loads tables into cytoscape. :param df: a pandas dataframe to load :param df_key: key column in df, default="index" :param table: target table, default="node" :param table_key_column: table key column, default="name" :param network (string, optional):
 Specifies a network by name, or by SUID if the prefix SUID: is used. The keyword CURRENT, or a blank value can also be used to specify the current network. :param namespace (string, optional):
 Node, Edge, and Network objects support the default, local, and hidden namespaces. Root networks also support the shared namespace. Custom namespaces may be specified by Apps. :param verbose: print more information :returns: output of put request """


        u=self.__url 
        host=u.split("//")[1].split(":")[0]
        port=u.split(":")[2].split("/")[0]
        version=u.split(":")[2].split("/")[1]

        if type(network) != int:
            network=check_network(self,network,verbose=verbose)
            
            PARAMS=set_param(["columnList","namespace","network"],["SUID",namespace,network])
            networkID=api(namespace="network", command="get attribute",PARAMS=PARAMS, host=host,port=str(port),version=version)
            
            PARAMS=set_param(["columnList","namespace","network"],["name",namespace,network])
            networkname=api(namespace="network", command="get attribute",PARAMS=PARAMS, host=host,port=str(port),version=version)
                    
            network=networkID[0]["SUID"]
            networkname=networkname[0]["name"]

        tmp=df.copy()
        if df_key!="index":
            tmp.index=tmp[df_key].tolist()
            tmp=tmp.drop([df_key],axis=1)
                
        tablen=networkname+" default node"

        data=[]

        for c in tmp.columns.tolist():
            tmpcol=tmp[[c]].dropna()
            for r in tmpcol.index.tolist():
                cell={}
                cell[str(table_key_column)]=str(r) # {"name":"p53"}
                val=tmpcol.loc[r,c]
                if type(val) != str:
                    val=float(val)
                cell[str(c)]=val
                data.append(cell)


        upload={"key":table_key_column,"dataKey":table_key_column,\
                "data":data}


        URL="http://"+str(host)+":"+str(port)+"/v1/networks/"+str(network)+"/tables/"+namespace+table  
        if verbose:
            print("'"+URL+"'", upload)
            sys.stdout.flush()
        r = requests.put(url = URL, json = upload)
        if verbose:
            print(r)
        checkresponse(r)
        res=r.content
        return res