Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

Power query python dataset from an other table

Hello,

 

I have a table called "mytab" contaning a column "Expression" like this :

 

 

I am writing a python script (a regex function) in "mytab2" which need to import "expression" from "mytab" in a pandas dataframe list.

I'd like to do some thing like this :

 

import pandas as pd

myListOfExpression = pd.DataFrame(['mytab'].dataset['Expression'],columns=['Expression1'],dtype=float)

 

I know that he red ['mytab']. is wrong, but I try to specify the table "mytab".

 

Any idea ?

 

Thanks

 

2 Replies

  • ImkeF's avatar
    ImkeF
    Community Champion

    Hi Anonymous ,

    the python-script will sit in a Python.Execute function in PQ. It will be escaped in there. In order to integrate some objects from the M-world, you have to unescapce the script and combine with ampersand "&":

     

    Python.Execute ( "import pandas as pd

    myListOfExpression = pd.DataFrame( " & mytab & "dataset['Expression'],columns=['Expression1'],dtype=float)

     

    This syntax is probably wrong, as "mytab" returns the whole table, but this is the general principle on how to combine M-objects with python scripts.

     

    mytab[Expression] would return a list with the column contents BTW. 

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hello, 

       

      thanks for your answer !

       

      I tried what you said, but it doesn't works :

       

      i try this : = Python.Execute("import pandas as pd#(lf)#(lf)myListOfExpression = pd.DataFrame("&[mytab]&"dataset['Expression'],dtype=float)",[dataset=#"Colonnes renommées"])

       

      I have this answer : We have detected an unknown identifier. Did you use the shortened syntax [field] for a _[field] outside of a "each" expression?

       

      I also tried ["mytab"], ['mytab'] but don't work either.

       

      Any idea ?

       

      Thanks