2012-01-07 1 views
0

Я хочу загрузить csv в базу данных с php, но прежде чем я сделаю это, я хочу изменить часть содержимого.изменить csv с php перед импортом/загрузкой с php

В таблице базы данных CSV-будет поступать из имеет 3 колонки: ID, почтовый индекс, debt_amount Таблица базы данных CSV-направится к 4 колонки: ID, почтовый индекс, debt_amount, сосчитать


Сначала я хочу изменить полный почтовый индекс, чтобы просто показать первую часть перед «пространством». Тогда я хочу, чтобы объединить все строки, которые имеют тот же модифицированный почтовый индекс, это будет делать две вещей:

  1. Подсчитать количество строк с одинаковым модифицированном почтовым индексом и место общего числа в сводную строку в column 'count'.

  2. Добавьте столбец «debt_amount» для того же измененного почтового индекса и поместите общую сумму в консолидированную строку в столбце «debt_amount».

Эти процессы должны запускаться вместе. После этого я хочу загрузить его в базу данных.


Я не знаю, если это лучший способ сделать это, или если я должен обрабатывать данные из первой базы данных первого и экспортировать его в CSV, просто позвольте мне загрузить то CSV в другой базе данных. Любая помощь в любом процессе была бы хорошей.

Благодаря

ответ

0

Я думаю, что лучше всего обрабатывать эти данные в самой MySQL. Вы можете решить, если вы хотите обработать его в исходной базе данных или целевой базы данных

Таким образом, если обработка включает в себя:.

  • изменить почтовый индекс
  • счетов #rows с таким же модифицированным почтовым индексом
  • сумма debt_amount для одного модифицированного-почтового индекса

Либо сделать обработку в базе данных источника, хранить результаты в виде временную таблицы, генерировать CSV, а затем импортировать в целевой базы данных. Или создайте CSV из исходного БД, импортируйте в целевую базу данных во временную таблицу, выполните обработку и сохраните результаты в финальной таблице.

+0

Спасибо Абхай, мне нравится этот путь, я думаю, что обработка в новом местоположении базы данных будет проще.Не могли бы вы предоставить код, который мог бы помочь в этих процессах, подсчитывая строки с одним и тем же почтовым индексом и передавая их в новую таблицу и добавляя long_amount для этого почтового индекса? – zizther

+0

@zizther, конечно. Мы можем попытаться работать с использованием запроса, который у вас есть. У вас есть запрос, который вы пробовали? – Abhay

+0

Извините за поздний ответ. У меня пока нет запроса, так как только я думал о том, как я могу обрабатывать данные. Если он снова появится, я буду комментировать. Спасибо – zizther

0
  1. ли стандартные загрузки файла.
  2. Прочтите содержимое CSV из файла временной загрузки.
  3. Обработать CSV данных (например, с SplFileObject­Docs.
  4. Вставьте обработанные данные в вашу базу данных.