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读取。

相关推荐
a诠释淡然2 分钟前
C++ vs Rust:哪个更适合你的下一个项目?
开发语言·c++·rust
meilindehuzi_a4 分钟前
深入理解 JavaScript 执行机制:从编译阶段到调用栈底层实现
开发语言·javascript·ecmascript
小小de风呀5 分钟前
de风——【从零开始学C++】(十二):stack和queue的基本使用和模拟实现
开发语言·c++
MageGojo6 分钟前
基于 API Zero 平台集成 TTS 语音合成服务的技术实践
python·语音合成·tts·restful api·api集成
huohaiyu17 分钟前
深入解析Java垃圾回收机制
java·开发语言·算法·gc
YsyaaabB30 分钟前
LangChain作业二---多语言翻译Prompt
开发语言·python·langchain
SunnyDays101131 分钟前
如何在 Java 中实现 OFD 与 PDF 格式互转
java·开发语言
HappyAcmen31 分钟前
2.PDF长文档完整读取
python·pdf·rag
装不满的克莱因瓶32 分钟前
掌握感知器的学习原理
人工智能·python·神经网络·算法·ai·卷积神经网络
py小王子36 分钟前
Nature 期刊图复现|Python 实现双轴高维直方图与重叠分布图
python·nature·期刊图复现