duckdb excel插件和rusty_sheet插件在python中的不同表现

  1. 建立虚拟环境
    安装python扩展包duckdb、polars和pandas

    python -m venv pwin313
    pwin313\scripts\activate.bat
    pwin313)C:\d\pwin313>pip install duckdb polars pandas

  2. 在python中引入扩展包,安装加载duckdb插件

    pwin313) C:\d\pwin313>python
    Python 3.13.2 (tags/v3.13.2:4f8bb39, Feb 4 2025, 15:23:48) [MSC v.1942 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.

    import duckdb
    duckdb.sql("install excel")
    duckdb.sql("install rusty_sheet from community")
    import time

    duckdb.sql("load excel")
    duckdb.sql("load rusty_sheet")

rusty_sheet是 v0.4.2版。

分别测试两种插件不转成数据框和转成polars、duckdb数据框

复制代码
>>> t=time.time();duckdb.sql("select * from read_xlsx('/d/lineitem.xlsx')");t1=time.time();print(t1-t)
0.3100736141204834
>>> t=time.time();duckdb.sql("select * from read_xlsx('/d/lineitem.xlsx')").pl();t1=time.time();print(t1-t)
4.7497313022613525
>>> t=time.time();duckdb.sql("select * from read_xlsx('/d/lineitem.xlsx')").fetchdf();t1=time.time();print(t1-t)
4.8916003704071045


>>> t=time.time();duckdb.sql("select * from read_sheet('/d/lineitem.xlsx',range='2:')");t1=time.time();print(t1-t)
4.251304626464844
>>> t=time.time();duckdb.sql("select * from read_sheet('/d/lineitem.xlsx',range='2:')").pl();t1=time.time();print(t1-t)
9.083962440490723
>>> t=time.time();duckdb.sql("select * from read_sheet('/d/lineitem.xlsx',range='2:')").fetchdf();t1=time.time();print(t1-t)
9.565066576004028

可见,read_xlsx不转数据框,则不实际读取数据,而read_sheet读取。

相关推荐
kexnjdcncnxjs29 分钟前
如何在Navicat中创建基础数据表_可视化图形界面操作指南
jvm·数据库·python
m0_7407963633 分钟前
CSS如何兼容新旧方案结合响应式容器查询
jvm·数据库·python
故事和你9139 分钟前
洛谷-【图论2-1】树4
开发语言·数据结构·c++·算法·动态规划·图论
zmsofts40 分钟前
Maven核心能力深度解析:从项目管理到扩展机制
java·python·maven
故事和你9142 分钟前
洛谷-【图论2-1】树1
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
段ヤシ.44 分钟前
回顾Java知识点,面试题汇总Day5(持续更新)
java·开发语言
不会C语言的男孩1 小时前
C++ SLTL编程
java·开发语言·c++
java修仙传1 小时前
Java 实习日记:从业务表关系到节点价格分析接口改造
java·开发语言·实习
qq_452396231 小时前
第十四篇:《JMeter插件扩展:自定义函数与第三方插件》
开发语言·python·jmeter
敲代码的嘎仔1 小时前
力扣高频SQL基础50题详解
开发语言·数据库·笔记·sql·算法·leetcode·后端开发