python - 在 Python 中处理多个大文件

标签 python python-3.x

我有大约 60 个文件,每个文件包含大约 900000 行,每行都是 17 个制表符分隔的 float 。每行我都需要使用所有 60 个文件中的所有相应行进行一些计算,但由于它们的大小巨大(每个文件大小为 400 MB)和有限的计算资源,所以需要很长时间。我想知道有什么解决办法可以快速做到这一点吗?

最佳答案

这取决于你如何处理它们。如果你有足够的内存,你可以先读取所有文件并将它们更改为python数据结构。然后就可以进行计算了。

如果您的文件无法放入内存,最简单的方法可能是使用某种分布式计算机制(hadoop 或其他更轻量级的替代方案)。

另一个较小的改进可能是使用 fadvice linux 函数调用来说明您将如何使用文件(顺序读取或随机访问),它告诉操作系统如何优化文件访问。

如果计算适合一些常见的库,例如 numpy numexpr,它有很多优化,您可以使用它们(如果您的计算使用未优化的算法来处理它们,这会有所帮助)。

关于python - 在 Python 中处理多个大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447455/

相关文章:

python - 3D 中的径向基函数(面向奇异矩阵)

python - 如何分配数组元素

python - 使用 beautifulsoup 从维基百科表中获取列

django - 嵌套序列化程序 django rest 框架中的上下文

python - 如何配置 rsyslog 以与 SysLogHandler 日志类一起使用?

python - 如何将 xgboost 集成到 Spark 中? (Python)

具有多个等效列的 Python Pandas VLookup

python 统计模型 : "params" parameter for predict function of arima models

python - 使用 python api ibm_db 连接到 IBM DB2 on Cloud

python-3.x - python : How do I mock an async method that gets called multiple times?