【代码报错】dai数据问题特殊字符查询、插入行数据的问题

1、查询含有特殊字符的字段数据的问题

在dai数据库中存入了如”min(ta_sma_5_0, ta_sma_10_0, ta_sma_30_0)“包含(,)>=, +,-,*,/等特殊字符的字段,select的时候需要指定固定的字段进行查询。目前总是报错查不到min(float, float, float)的问题,怎么办?


2、插入行数据的问题

向已创建好的dai数据库中插入增加新数据,新数据的每个字段和数据库中的数据类型都一样,但是还是报出这个问题,为什么?该怎么解决?

代码和报错如下:


import pandas as pd
import dai

df = m4.data_1.read()

# df['avg_turn_0'] = df['avg_turn_0'].astype('float32')
# df['industry_sw_level1'] = df['industry_sw_level1'].astype('float64')
# df['industry_sw_level2'] = df['industry_sw_level2'].astype('float64')
# df['industry_sw_level3'] = df['industry_sw_level3'].astype('float64')

ds = dai.DataSource("huotiandayou_v2")
ds.metadata.get('schema').get('avg_turn_0')

# 统一数据类型
for col in list(ds.metadata.get('schema').keys()):
    dtype = ds.metadata.get('schema').get(col)
    # print(f'{col}\t{dtype}')
    if dtype == "timestamp[ns]":
        df[col] = pd.to_datetime(df[col])
    elif dtype == "float":
        df[col] = df[col].astype('float32')
    elif dtype == "double":
        df[col] = df[col].astype('float64')
    # else:
    #     df[col] = df[col].astype(dtype)

ds.insert_bdb(df)

报错

{w:100}

{w:100}