python - 如何在python中创建一个自写的静态函数库
问题描述
我有一个具有多个静态函数的 python 脚本。我想将完整的 python 脚本转换为 python 库
import pandas as pd
import numpy as np
import EA_Upload_config as cfg
import datetime
#%%
def clockPrint(sentence):
now = datetime.datetime.now()
date_time = now.strftime("%H:%M:%S")
print(date_time + " : " + sentence)
def uploadToEA(df_,ds_api_name,operation_,instance,xmd_=None): #Upsert #Overwrite
import SalesforceEinsteinAnalytics as EA
clockPrint("Upload Process Initiated for "+instance+" instance...")
if instance.lower() == 'commercial':
EAS = EA.salesforceEinsteinAnalytics(env_url='https://spglobalratings.my.salesforce.com', browser='chrome')
if instance.lower() == 'analytical':
EAS = EA.salesforceEinsteinAnalytics(env_url='https://spglobalratingsae.my.salesforce.com', browser='chrome')
EAS.load_df_to_EA(df_,dataset_api_name=ds_api_name, operation=operation_,xmd=xmd_,fillna=False) #Error because of fillna=False
clockPrint("Upload Process Completed successfully for "+instance+" instance. Navigate to (Einstein Analytics --> Data Manager --> Monitor) to check progress.")
def processDate(date):
if pd.isnull(date):
return np.nan
else:
date = pd.to_datetime(date)
date = datetime.datetime.strftime(date,"%m/%d/%Y")
return date
if __name__ == '__main__':
df = pd.read_csv(cfg.FILE_PATH)
if len(cfg.DATE_COLUMNS) != 0:
for c in cfg.DATE_COLUMNS:
df[c] = df[c].apply(lambda x: processDate(x))
for c in df.columns:
if df[c].dtype == "O":
df[c].fillna('', inplace=True)
elif np.issubdtype(df[c].dtype, np.number):
df[c].fillna(0, inplace=True)
elif df[c].dtype == "datetime64[ns]":
df[c] = df[c].apply(lambda x: processDate(x))
df[c].fillna("", inplace=True)
df.fillna("", inplace=True)
for instance in cfg.INSTANCES:
if instance.lower() == 'commercial':
uploadToEA(df, cfg.COM_DATASET_API_NAME, cfg.COM_OPERATION, instance, cfg.COM_XMD)
elif instance.lower() == 'analytical':
uploadToEA(df, cfg.ANA_DATASET_API_NAME, cfg.ANA_OPERATION, instance, cfg.ANA_XMD)
else: clockPrint("Update INSTANCES variable as ['Commercial'] or ['Analytical'] or ['Commercial','Analytical'].")
这是我想要将其转换为库的完整 python 脚本。我该怎么做?
解决方案
推荐阅读
- python - 在 Pygame 中旋转画布
- amazon-web-services - 如何通过 Kinesis 代理传递 AWS 会话令牌?
- flutter - 如何在flutter web上实现苹果登录?
- jwt - 使用 NATS.io 的 NAS 和 NSC 时出现意外的“ed25519-nkey”算法错误
- c# - 如何在 C# 中写入和读取 .xlsb 文件而不使用 Excel 互操作
- php - 出现错误 PHP 致命错误:Class 'Zend\Mvc\Controller\AbstractActionController'
- java - 如何在android studio中将Html页面转换为Pdf
- azure - ARM 模板抛出“共享吞吐量集合应该有一个分区键”
- python - sklearn.tree.plot_tree 显示返回文本块而不是可视化树
- prolog - Prolog 语法错误:. 或表达式 1 错误编译失败后预期的运算符