С чего начать в PHP для скрипта, который переставляет данные с разделителями табуляции - PullRequest
0 голосов
/ 24 марта 2011

Это будет один из моих первых проектов PHP.

С чего начать в PHP для скрипта, который переупорядочивает данные с разделителями табуляции.

У меня есть текстовый файл с разделителями табуляции, который нужно периодически переставлять. Некоторые целые столбцы должны будут перемещаться в разные части текстового файла, а некоторые заголовки столбцов также должны быть переименованы. В основном мой файл данных с разделителями табуляции преобразуется, чтобы соответствовать другому набору данных с разделителями табуляции, чтобы соответствовать системе. (На самом деле файл представляет собой текстовый файл с разделителями табуляции Amazon.com SELLER CENTRAL Отчеты о заказах, отличающийся от текстовых файлов с разделителями табуляции, загруженных из собственных отчетов о заказах MARKETPLACE Amazon.com)

Я надеюсь, что кто-то может подсказать мне, где я мог бы начать писать код или как заставить этот скрипт работать ...

Ответы [ 3 ]

3 голосов
/ 24 марта 2011

Вы можете прочитать в файле TSV, используя PHP fgetcsv(), используя "\t" в качестве разделителя.

Это дает вам массив столбцов, которыми вы можете манипулировать по своему усмотрению. После этого вы можете записать массив в виде строки в новом файле, используя fputcsv()

Редактировать: Например, процесс будет выглядеть примерно так:

  1. Открыть дескрипторы файлов (используя fopen()) к существующему файлу данных (источнику) и новому файлу назначения
  2. Читайте в исходном файле построчно, используя fgetcsv()
  3. Создать новый массив столбцов, используя значения, возвращаемые fgetcsv() в требуемом порядке
  4. Записать новый массив в новый файл, используя fputcsv()
  5. После этого закройте оба дескриптора файла
0 голосов
/ 24 марта 2011

Конечно, вы должны знать здесь

  1. Чтобы соответствовать TAB внутри php, вы используете строку: "\ t"
  2. Далее вам понадобится функция explode , чтобы получить массив из одной строки файла
  3. далее вам понадобится foreach циклическое переключение между элементами массива для анализа данных
  4. конечно, Массивы в PHP всегда помогут вам
  5. и в конце, когда вам нужно будет создать окончательный файл с разделителями табуляции, вам понадобится implode

Конечно, взгляните на string и array функции в PHP.

0 голосов
/ 24 марта 2011

Разобрать данные, используя fgetcsv() и использовать array_multisort(). Если вам нужен пример, его можно найти на странице руководства по мультисортировке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...