Pasando parámetros / variables en Python Script

Un usuario Pregunto ✅

Anónimo

Querida comunidad,

Estoy tratando de crear una función para el desguace web usando un script de Python. Quiero pasar un parámetro como variable al script de Python. Intenté seguir la fórmula de paso de parámetros en el script R. Pero eso no funciona para el archivo Python.

¿Hay alguna manera de declarar la ‘consulta’ de búsqueda como un parámetro y pasarla o almacenarla como una variable que se utilizará cada vez que se invoque la función?

También he compartido mi fragmento de código como referencia.

Gracias.

code.JPG

Anónimo

Necesita concatenar texto con Y y no +

Lo siguiente funciona bien para mí:

dejar
Fuente = Python.Execute («importar pandas # (lf) azureAppid = ‘» & paramAzureAppID & «‘# (lf)»,

df1 = Fuente {[Name=»df»]}[Value]
en
df1

Hola @Anónimo,

¿Podría haber consultado el siguiente enlace sobre el uso de Python en el Editor de consultas?

https://docs.microsoft.com/en-us/power-bi/desktop-python-in-query-editor

Tal vez podrías ingresar y poner el código de Python en el Ejecutar secuencia de comandos de Python diálogo.

Saludos,
Daniel él

Anónimo

En respuesta a v-danhe-msft

Hola @ v-danhe-msft

Gracias por su respuesta.

Estaba tratando de construir una función con el script de Python. El paso de parámetros no funciona para la función.

Pero la secuencia de comandos de Python funciona bien cuando se agregó como un nuevo paso.

Me preguntaba si hay alguna forma de que pueda hacer el mismo script como función.

Saludos,

Jannatun Nahar

Anónimo

En respuesta a Anónimo

Oye, @Anónimo

¿Puede explicarnos más sobre «pasar como un nuevo paso»? ¿Pudiste encontrar una solución para usar el parámetro como parte de tu secuencia de comandos de Python?

¡Gracias!

Anónimo

En respuesta a Anónimo

Hola @Anónimo,

Muchas gracias por su respuesta. Estoy tratando de crear una función invocada personalizada usando Python o script R para extraer tweets en powerBI. En lugar de codificar el término de búsqueda en el script R original, quería pasarlo como parámetro. Pero el código no funciona de esta manera. Adjunto una copia de mi código aquí:

(Name as text) as table=>
let
    
  Source = R.Execute(" #(lf)   library(twitteR)
                         #(lf)   library(stringi)
                         #(lf)   consumer_key <- ""abcd "" 
                         #(lf)   consumer_secret <- "" adbc ""
                         #(lf)   access_token <- ""abcd ""
                         #(lf)   access_secret <- ""abcd""
                         #(lf)   setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
                         #(lf)   str1 <- ""https://community.powerbi.com/t5/Desktop/Passing-Parameters-Variables-into-python-Script/m-p/#""
                         #(lf)   str2 <- ""&Name&""   (passing serach term as a parameter here)
                         #(lf)   search_term <- paste(str1,str2,sep="") 
                         #(lf)   number_of_tweets <- 100
                         #(lf)   language <-'en'
                         #(lf)   tweets <- searchTwitter(search_term, number_of_tweets,language)
                         #(lf)   df_tweets <- twListToDF(tweets)
                         #(lf)   df_tweets <- df_tweets[,c('text','favorited','favoriteCount','created','retweetCount',
                                                                                              'isRetweet','retweeted')]
                         #(lf)   df_tweets$text <- stri_encode(df_tweets$text, '', 'UTF-8')"),
    df_tweets1 = Source{[Name="df_tweets"]}[Value]
in
    df_tweets1

Estoy trabajando en esto para mi proyecto final de MSC. Realmente agradecería cualquier sugerencia para pasar por el error.

Gracias de nuevo.

pensador profundo

En respuesta a Anónimo

¿Alguien puede confirmar si esto es posible o no?

armanschwarz

En respuesta a pensador profundo

Esto parece funcionar; tenga en cuenta que dataset2 toma el valor de dataset1 y lo multiplica por 2:

let
Source = Python.Execute("import pandas#(lf)dataset = pandas.DataFrame([1, 2, 3])"),
dataset1 = Source{[Name="dataset"]}[Value],
dataset2 = Python.Execute("
import pandas
dataset = dataset*2
dataset.to_csv('C:/Users/arman.schwarz/dataset_to_csv.csv')", [dataset = dataset1]),
dataset3 = dataset2{[Name="dataset"]}[Value],
#"Changed Type" = Table.TransformColumnTypes(dataset3,{{"0", Int64.Type}})
in
#"Changed Type"

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *