当我使用 to_sql 将数据帧上传到 exasol 并指定 if_exists='replace' 时,默认的字符串数据类型是 'text',Exasol 不支持。我认为 Varchar 是正确的类型。如何使 to_sql 使用 Varchar 而不是 Text 创建表?
问问题
217 次
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 回答