cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

How to call python script in SnapLogic

sanam
New Contributor

Hi Team,

I need to call below sample python script from snaplogic.
or is there a way to call .py file in snaplogic

import pandas as pd
################Can be snap logic pipeline###############333333
import pyodbc
conn = pyodbc.connect(โ€˜DRIVER={ODBC Driver 13 for SQL Server};
SERVER=ps-sql; database=test; trusted_connection=yesโ€™)
sql = โ€˜โ€™โ€™
select * from temp
โ€˜โ€™โ€™
df = pd.read_sql(sql, conn)
######################################################33
#######################Feed SQL into python######################3

import pandas as pd
longform = pd.DataFrame(columns=[โ€˜assets__cโ€™, โ€˜idโ€™])
for idx, songs, name in df.itertuples():
name_words = (i.lower() for i in name.split())
longform = longform.append(
[{โ€˜assets__cโ€™: nw, โ€˜idโ€™: songs} for nw in name_words],
ignore_index=True
)
longform[โ€˜refreshdate_unpackโ€™] = pd.to_datetime(โ€˜todayโ€™)

longform
##############Write longform into a sql table######################

8 REPLIES 8

sanam
New Contributor

any inputs?

dimitri_hristov
Contributor

Hi,

There are a couple of Snaps you can use:
https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/1439321/Script
or
https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/615383126/Remote+Python+Script

Though the Remote Python Script takes a bit more doing to get it going.

BR,
Dimitri

sanam
New Contributor

How Can I get the The hostname of Remote Python Executor.

@sanam Hello again! I replied on your separate thread about the RPE hostname (Remote Python Snap Account). What I want to add to this thread is that if you need a third-party Python library the Remote Python Script snap is the way to go and the RPE images we maintain already have Pandas.

From a design perspective, is there a reason your thinking about making the SQL connection in Python rather than using the SQL Server snap pack for the read, then passing the data into the RPE snap for processing with Pandas?