слияние csv данные с php?

Есть многие CSV файл как следующее: a.csv , b.csv , aab.csv и т.д.

Они держат ту же самую колонку и заголовок. Теперь я хочу поместить все csv данные в whole.csv . Только с одним заголовком. Как я могу сделать это?

a.csv data:

header1 title post.....

test   who  posand

b.csv data:

header1 title post.....

head   she  pnow

и т.д.....

whole.csv будет содержать все csv данные. например:

header1 title post.....

head   she  pnow
test   who  posand

Я попробовал следующий code.but не, добираются, я хочу:

$csvs = glob("*.csv");

foreach($csvs as $csv) {
  $row = 1;
  if (($handle = fopen($csv, "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
      $fp = fopen("whole.csv", 'w');
      fputcsv($fp, $data);
      $row++;
    }
    fclose($handle);
  }
}

Я поместил все файлы CSV в тот же самый справочник.

1
nl ja de

2 ответы

Для каждого входного файла CSV вы открываете проистекающий файл CSV в режиме записи:

$fp = fopen("whole.csv", 'w');

который вытирает содержание whole.csv !!

Необходимо открыть whole.csv файл только однажды вне петли и продолжать писать в него.

$csvs = glob("*.csv");
$fp   = fopen("whole.csv", 'w');

foreach($csvs as $csv) {
  $row = 1;
  if (($handle = fopen($csv, "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
      fputcsv($fp, $data);
      $row++;
    }
    fclose($handle);
  }
}
1
добавлено
Сколько линии в тех файлах CSV? Каков их размер?
добавлено автор j0k, источник
добавлено автор hehe, источник
есть ли в коде некоторая ошибка. это показывает Фатальную ошибку: Максимальное время выполнения 30 секунд превысило меня
добавлено автор hehe, источник
я только проверяю его только с четырьмя файлами CSV.
добавлено автор hehe, источник

Взгляните на file_put_contents .

Вы открыли бы каждый файл CSV, затем использовать file_put_contents проходящий whole.csv как $filename параметр, дескриптор файла как $data параметр и используют FILE_APPEND флаг, чтобы сказать ему прилагать содержание вместо переписывания.

0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp