数据插入错误10427 参数转换

Data insert error 10427 conversion of parameters

我正在尝试从 Python 3.x Juypter Notebooks 加载 Hana 2.0 数据库中的一些数据,但出现错误。
请指教

列的类型为INT as Pregnancies,结构如下

而在CSV文件中,数据是一个数字

所以以上数据应该转到怀孕列。

Error I'm getting, while inserting data is below:-

hdbcli.dbapi.Error: (-10427, "Conversion of parameter/column (1) from data type UCS2 (LE) to INT failed (invalid number: not a valid number string 'Pregnancies')")

它的大脚本..我在插入方法中遇到问题

 @staticmethod
    def insert_data(connection,tablename,cols,inlist,data, batch_size):
            sql = 'insert into ' + tablename + inlist
            if len(data) > 0:
                with connection.connection.cursor() as cur:
                    rows_inserted = cur.executemany(sql, data)
    @staticmethod
    def file_load(connection,table_descriptions,cols, inlist, filename,file_count,train_percentage,valid_percentage,test_percentage,batch_size):
        with open(filename, 'r') as my_file:
            reader = csv.reader(my_file, delimiter=',')
            data = list()
            data_list = list()
            load_count = 0
            for row in reader:
                remain_count = file_count - load_count
                if remain_count < batch_size:
                    batch_size = remain_count
                if len(data) <= batch_size:
                    data.append(list(row))
                    if len(data) == batch_size:
                        DataSets.split_data_into_tables(connection,data,table_descriptions,train_percentage,valid_percentage,test_percentage, cols, inlist, batch_size, file_count)
                        load_count += len(data)
                        data = list()
                        print("Data Loaded:{}%".format(math.floor(load_count/file_count*100)))   

完整代码如下link

https://github.com/SAP-samples/hana-ml-samples/blob/master/Python-API/pal/notebooks/data_load_utils.py

错误表明列中的数据属于 'UCSE' 类型,这是一种字符编码标准,其中字符由固定长度的 16 位(2 字节)表示,并且您已经定义了列作为 'INT' 类型。
所以首先在CSV文件中将类型更改为'INT',然后加载数据。

根据错误消息文本,我相当确定问题出在导入代码尝试读取 CSV 文件的第一行(包含列 names/headers 的行)并导入这些名称到目标 table 失败了。

为避免这种情况,只需跳过 CSV 文件的第一行。