在使用php导入/上传之前用php修改csv

时间:2012-01-07 15:41:58

标签: php mysql database csv

我想用PHP将数据库上传到数据库,但在此之前我想修改一些内容。

csv来自的数据库表有3列:id,postcode,debt_amount csv将转到的数据库表有4列:id,postcode,debt_amount,count


我首先要做的是修改完整的邮政编码,只显示“空间”之前的第一部分。 然后我想合并所有具有相同修改后邮政编码的行,这将做两件事:

  1. 使用相同的修改后的邮政编码计算行数,并将总数放入“计数”列中的合并行中。

  2. 为相同的修改后的邮政编码添加'debt_amount'列,并将总金额放入'debt_amount'列下的合并行中。

  3. 这些过程需要一起运行。 完成后,我想将其上传到数据库。


    我不知道这是否是最好的方法,或者我是否应该首先处理来自第一个数据库的数据并将其导出为CSV,以便允许我在其他数据库上传CSV。 对这两个过程的任何帮助都会很好。

    由于

2 个答案:

答案 0 :(得分:0)

  1. 执行标准文件上传。
  2. 从临时上传文件中读取CSV内容。
  3. 处理CSV数据(例如,使用SplFileObject­Docs
  4. 将处理后的数据插入数据库。

答案 1 :(得分:0)

我认为最好在MySQL本身处理这些数据。您可以决定是否要在源数据库或目标数据库中处理它。

因此,如果处理涉及:

  • 修改邮政编码
  • 使用相同的修改后邮件计数#rows
  • sum debt_amount用于相同的修改后邮政编码

在源数据库中进行处理,将结果存储在临时表中,生成CSV然后导入到目标数据库。或者从源DB生成CSV,导入到临时表中的目标数据库,进行处理并将结果存储到最终表。