我正在尝试开发一个 python 脚本,它以块的形式读取大型 CSV 文件(大约 1.2 GB 历史数据)并执行以下步骤:
- 备份文件
- 提取前一天交易的新记录,附加到原始/基础 CSV 文件并将数据存储在数据框中。
- 对大数据框执行数学运算
- 将大数据帧转换为 CSV 并存储在同一位置以供下一天处理。
类似的过程也在第二天运行,依此类推......
我在处理上面的第 3 步时遇到内存异常错误(可能第 1 步和第 2 步会消耗大部分内存 max-3GB 有限空间)。即使我扩展服务器中的空间,我也预见到一个问题,因为我的输入文件大小每天都会增加。
我需要每天浏览历史数据以进行数学运算以及日常交易,因此无法避免存储/访问包含历史数据的基本 CSV 文件,也无法购买云中的空间。
我曾用于pd.read_csv从 CSV 文件中分块读取记录,用于数学运算 pandas 和 numpy 已被使用。
该脚本在我的本地计算机上运行没有任何问题,但是在服务器上处理时我遇到了内存问题。所以,就代码而言,它似乎很好。
我相信,如果我可以将步骤 1 到 4 中的处理更改为更高效,则可以解决内存异常,并且可以在空间有限的情况下执行我的脚本。
有人可以建议处理上述步骤的最佳方法吗?