You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中无需存储数据,能否直接对array执行SQL查询?

无需存入数据库,直接在内存数据上执行SQL查询完全可行

你完全没必要把临时数据存入MySQL这类数据库,Python生态里有不少工具能让你直接在内存中的数据结构(比如列表、DataFrame)上执行SQL查询,完美适配你的需求:

  • Pandas + pandasql:这是最常用的组合。把假数据或CSV数据加载成Pandas的DataFrame后,用pandasql的sqldf函数就能直接写SQL查询。示例代码:

    import pandas as pd
    from pandasql import sqldf
    
    # 假设你的假数据是列表转成的DataFrame
    fake_data = pd.DataFrame([
        {"id": 1, "name": "Alice", "age": 30},
        {"id": 2, "name": "Bob", "age": 25}
    ])
    
    # 执行SQL查询
    result = sqldf("SELECT name, age FROM fake_data WHERE age > 27")
    print(result)
    

    CSV数据直接用pd.read_csv()加载成DataFrame就行,后续操作和假数据完全一致。

  • DuckDB:轻量级的嵌入式数据库,支持直接查询Pandas DataFrame甚至本地CSV文件,语法和标准SQL几乎一致,性能表现也很出色。示例:

    import duckdb
    import pandas as pd
    
    fake_data = pd.DataFrame([
        {"id": 1, "name": "Alice", "age": 30},
        {"id": 2, "name": "Bob", "age": 25}
    ])
    
    # 直接查询内存中的DataFrame
    result = duckdb.query("SELECT * FROM fake_data WHERE age < 30").df()
    print(result)
    
    # 甚至可以直接查询CSV文件,无需先加载成DataFrame
    # result = duckdb.query("SELECT * FROM 'your_file.csv' WHERE age > 25").df()
    

这些工具都不需要搭建额外的数据库服务,所有操作都在内存中完成,数据用完即可释放,完全符合你“无需长期保存”的需求。如果你的查询逻辑复杂,用SQL处理会比纯Python代码更简洁高效。

内容的提问来源于stack exchange,提问作者crosenblum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:04:57