Joh*_*tte 6 python database duckdb
我正在使用 Duckdb 通过批量插入插入数据
使用以下代码时
conn.execute('INSERT INTO Main SELECT * FROM df')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Invalid Input Error: Failed to cast value: Unimplemented type for cast (VARCHAR -> NULL)
Run Code Online (Sandbox Code Playgroud)
我尝试使用
df.fillna('N/A')
Run Code Online (Sandbox Code Playgroud)
填充任何空值以避免错误,但我仍然收到相同的错误。如何解决这个问题?
Rya*_*erd 15
来自文档:默认情况下,DuckDB 读取数据帧的前 100 行来确定 Pandas“对象”列的数据类型。如果这 100 行为空,则它可能会猜测错误的类型。
使用以下命令覆盖此行为:
# example setting the sample size to 100000
duckdb.default_connection.execute("SET GLOBAL pandas_analyze_sample=100000")
Run Code Online (Sandbox Code Playgroud)
如果使用命名连接,请替换duckdb.default_connection为您的特定 DuckDB 连接变量。
感谢杰夫的评论为我指明了正确的方向。
| 归档时间: |
|
| 查看次数: |
4443 次 |
| 最近记录: |