解析巨大的XML文件,以便从巨大的CSV文件中获取信息

时间:2016-12-01 16:12:16

标签: php xml csv

我有很大的问题。

我有一项任务是放入有关产品的数据库信息。除价格外的所有信息都在 XML文件中,大于100mb

在另一个文件中,有关于该产品价格的信息。这是 CSV文件,大小约为200mb

简单逻辑

  1. 将XML解析为数组
  2. 按另一档案中产品的唯一ID搜索价格
  3. 将找到的价格添加到该产品的数组元素
  4. 将信息放入数据库
  5. 但我不能这样做。问题出在 SIZE

    我设法解析XML并将其放在数组中,但我无法处理CSV文件。如果有1000个产品,则每个产品需要解析CSV文件(该CSV文件的行数超过30.000.000行)。我无法解析那个CSV,更不用说1000了。

    我需要建议如何解决这个问题

2 个答案:

答案 0 :(得分:2)

对我来说,这似乎是一个数据库的工作。将两个文件加载到数据库中,然后进行简单的连接。

答案 1 :(得分:1)

使用XMLReader for the XMLSplFileObject for the CSV

不要将信息保存在内存中。将其直接写入MySQL或SQlite等数据库。导入所有数据后,您可以使用SQL来聚合它。