在AIStudio 3.0运行自定义Python模块成功,为什么提交为数据任务就失败?
由franklili创建,最终由franklili 被浏览 39 用户
# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
def bigquant_run(input_1, input_2, input_3):
# 示例代码如下。在这里编写您的代码
import dai
import pandas as pd
import requests
import datetime
last_date = input_1.read()
bitfinex_symbols = pd.read_csv("/home/aiuser/work/userlib/data/BITFINEX_Symbols.csv",)
dict1 = {"instrument": [], "date": [], "high": [], "low": [],
"close": [], "open": [], "bid": [], "ask": [], "volume": []}
#last_date = dai.query("SELECT date FROM BITFINEX_crypto_bar_1d WHERE date > '2024-04-26' ORDER BY date ").df()
last_date_dt = last_date["date"].iloc[-1]
last_date_str = datetime.datetime.strftime(last_date_dt, "%Y-%m-%d")
print("last_date_str: ", last_date_str)
today_dt = datetime.datetime.utcnow()
delta_day = (today_dt - last_date_dt).days
if delta_day > 0:
for index, row in bitfinex_symbols.iterrows():
if index :
symbol = row["code"]
print("symbol: ", symbol)
if symbol:
url = "https://data.nasdaq.com/api/v3/datatables/QDL/BITFINEX?code=" + symbol + "&date.gt=" + last_date_str + "&api_key=XXXXXXXXXX"
#print("url: ", url)
response = requests.get(url)
if response:
response_json = response.json()
for item in response_json['datatable']["data"]:
dict1["instrument"].append(item[0])
dict1["date"].append(datetime.datetime.strptime(item[1], "%Y-%m-%d"))
dict1["high"].append(item[2])
dict1["low"].append(item[3])
dict1["close"].append(item[4])
dict1["open"].append(item[5])
dict1["bid"].append(item[6])
dict1["ask"].append(item[7])
dict1["volume"].append(item[8])
df = pd.DataFrame(dict1)
df[dai.DEFAULT_PARTITION_FIELD] = df["date"].apply(lambda x: f"{x.year}")
ds = dai.DataSource("BITFINEX_crypto_bar_1d")
ds.insert_bdb(df)
else:
ds = dai.DataSource("BITFINEX_crypto_bar_1d")
return dict(data_1=ds, data_2=None, data_3=None)
我在AIStudio 3.0运行自定义Python模块是成功的。
但是提交为数据任务后,昨晚运行失败。
为什么失败呀?