【问题标题】:How to sort a CSV file in PHP without loading the entire file into memory?如何在 PHP 中对 CSV 文件进行排序而不将整个文件加载到内存中?
【发布时间】:2019-03-25 22:10:23
【问题描述】:

我正在尝试编写一个 PHP 脚本,该脚本将按一列或多列对 CSV 文件进行排序并将结果输出到另一个文件。

有没有办法在不完全加载到内存的情况下对 CSV 文件进行排序?

【问题讨论】:

  • 不先读取数据怎么排序?
  • 我指的是逐行读取。所以你会读取数据,但不是一次读取所有数据。

标签: php sorting quicksort


【解决方案1】:

不,没有合理的方法。您需要将内存中的数据进行比较并写入文件。

如果您知道每行的长度,您可以尝试冒泡排序。读取新“有序”文件的一行原始行和最后一行。比较它们并附加或添加到新文件中。在此迭代之后,再次使用新文件作为源,直到它被排序。

您应该使用像 MySQL 这样的数据库。

【讨论】:

  • 感谢您的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-22
  • 2017-12-28
  • 1970-01-01
  • 2016-01-09
  • 2020-02-13
  • 2020-06-13
相关资源
最近更新 更多