1

当我使用 to_sql 将数据帧上传到 exasol 并指定 if_exists='replace' 时,默认的字符串数据类型是 'text',Exasol 不支持。我认为 Varchar 是正确的类型。如何使 to_sql 使用 Varchar 而不是 Text 创建表?

4

1 回答 1

2

我知道这不是你所要求的 100%,但我建议使用 pyexasol 包在 Pandas 和 Exasol 之间进行通信。删除并跟随上传然后像

import pyexasol
import _config as config

# Connect with compression enabled
 C = pyexasol.connect(dsn=config.dsn, user=config.user, 
 password=config.password, schema=config.schema,
                 compression=True)

C.execute('TRUNCATE TABLE users_copy')


# Import from pandas DataFrame into Exasol table
C.import_from_pandas(pd, 'users_copy')

stmt = C.last_statement()
print(f'IMPORTED {stmt.rowcount()} rows in 
{stmt.execution_time}s')
C.close()

不会出现 varchar 的问题。

于 2020-10-23T18:26:49.053 回答