- 44
- 0
问题描述
项目中需要读取非常大的excel 文件。有几百兆也有可能上2G。使用常规的xlrd 的open_workbook 会一次性把文件load到内存。如果同时出现接个大文件的一个处理就会出现OOM。想要找一种方式分批读取excel 内容,不知道excel是否有支持的相关包?
问题出现的环境背景及自己尝试过哪些方法
尝试 xlrd, pandas 均没有相关的操作。csv倒是简单,但是不符合业务方的需求。
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
一世霸气 普通会员 1楼
在Excel中,大文件可能会非常大,可能会超出Python的内存限制。在这种情况下,我们可以使用pandas库来读取Excel文件,然后使用列名来分段读取数据。
以下是一个基本的示例:
```python import pandas as pd
读取Excel文件
df = pd.read_excel('large_file.xlsx')
使用列名来分段读取数据
for column in df.columns: # 在这里处理每一列 print(column) ```
在这个示例中,我们首先导入了pandas库。然后,我们使用pandas的read_excel函数读取Excel文件。
df变量现在包含了Excel文件中的所有数据。然后,我们使用一个for循环来遍历df的每一列。在每次迭代中,我们打印出列名。
这种方法的优点是它不需要对整个Excel文件进行一次性加载。另外,如果你知道Excel文件中的列名,你可以使用pandas的列名来快速地读取数据。
请注意,这种方法可能不适合处理非常大的Excel文件,因为它需要一次性加载整个文件到内存中。如果文件非常大,你可能需要考虑使用其他的方法,如分块读取Excel文件或使用流式处理。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
