python - 有没有办法在不创建 csv 文件的情况下将大表从 sql 加载到 pandas?
问题描述
我正在使用安装了 64GB 内存的服务器。我在数据库上有一个大表,它有 650 万行和 7 列。我想使用 read_sql() 或 read_sql_query() 方法将它从数据库读取到 pandas。我使用了 sqlalchemy create_engine 并成功设置了连接。
cstr = 'oracle://{user}:{password}@{sid}'.format(
user=user,
password=password,
sid=sid
)
engine = create_engine(
cstr,
convert_unicode=False,
pool_recycle=10,
pool_size=50,
echo=True
)
query = 'Select * From Table'
result = engine.execute(query)
df = pd.read_sql_query(query, engine)
一切都很好,直到上df = pd.read_sql_query(query, engine)
线。当我运行这一行时,Jupyter Lab 向我抛出错误“内核似乎已经死机。它将自动重新启动”
我不想迭代地创建几个 csv 文件。因为我不想为 csv 文件分配那么多空间。只想读取整个数据一次。但我不确定这是否可能?
解决方案
推荐阅读
- php - 从多个 json 数组 url 中获取值
- javascript - Axios 给出错误:404(未找到)所有请求
- azure - 从其他设备注销用户
- testing - Testcafe 报告生成 - 开源引擎
- android - 多对多 android room ref 额外变量
- java - NavNodeEntry 组件下拉菜单返回每个项目类型
- tensorflow - ModuleNotFoundError:没有名为“keras_preprocessing”的模块
- machine-learning - doc2vec 可以处理人工“文本”吗?
- java - 我在使用 Collections.sort 方法对数组列表进行排序时遇到问题 - 我不断收到错误消息
- kotlin - 在 Kotlin 中,如何检查输入是否仅为字母