使用Exasol的熊猫to_sql

时间:2020-07-05 19:21:41

标签: pandas exasolution exasol

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

1 个答案:

答案 0 :(得分:1)

我知道这不是您要的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问题。