извлечь из csv

Тема в разделе "PHP", создана пользователем zxxx, 27 окт 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. zxxx

    zxxx Постоялец

    Регистр.:
    9 окт 2009
    Сообщения:
    148
    Симпатии:
    4
    есть файл в формате csv, в excel он так выглядит:

    ненужная строка****************************************
    слово для извлечения 1,"0,33",68000000,68000000,68000000
    слово для извлечения 2,"0,41",2740000,3350000,3350000
    слово для извлечения 3,"0,6",165000,165000,165000

    Все это находится в первом столбце A
    Нужно с помощью php извлечь данные из этого csv файла и сохранить в формате txt в виде:

    слово для извлечения 1
    слово для извлечения 2
    слово для извлечения 3
     
  2. propovednik

    propovednik Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    104
    Симпатии:
    21
    PHP:
    $str file_get_contents("filename.csv");
    $arr explode("\n",$str);
    unset(
    $arr[0]);
    $txt '';
    foreach (
    $arr as $elem) {
    $elem explode(",",$elem);
    $txt .= $elem[0] . "\n";
    }
    //$txt - result
    2zxx: file_get_contents - опечатался, но и самому тоже надо навыки поиска по пхп.нет проявлять.
     
    zxxx нравится это.
  3. zxxx

    zxxx Постоялец

    Регистр.:
    9 окт 2009
    Сообщения:
    148
    Симпатии:
    4
    все отлично работает, единственное как сделать чтобы

    слово для извлечения 1
    слово для извлечения 2
    слово для извлечения 3

    сохранялись в столбик, а то они сохраняются друг за другом
     
  4. propovednik

    propovednik Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    104
    Симпатии:
    21
    \n замени на \n\r (это для винды)
     
    zxxx нравится это.
  5. zxxx

    zxxx Постоялец

    Регистр.:
    9 окт 2009
    Сообщения:
    148
    Симпатии:
    4
    пробовал заменить на \n\r все равно вместе все сохраняются
     
  6. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    \r\n для win, или пользоваться константой PHP_EOL
    PHP:
    $txt .= $elem[0] . PHP_EOL;
     
    zxxx нравится это.
  7. Farid515

    Farid515 Писатель

    Регистр.:
    22 окт 2010
    Сообщения:
    6
    Симпатии:
    1
    Если вы печатаете это в броузер то да все будет в одну строку.

    нужно сделать вот так:
    PHP:
    $elem[0] . '<br>' PHP_EOL;
     
Статус темы:
Закрыта.