За последние 24 часа нас посетили 33979 программистов и 1709 роботов. Сейчас ищут 796 программистов ...

Распарсить csv "как есть" не получается

Тема в разделе "PHP для новичков", создана пользователем l_2001, 3 ноя 2017.

  1. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    85
    Симпатии:
    3
    Здравствуйте, появилась необходимость распарсить файл... Записей более полутора миллионов... fgetcsv спотыкается на подобных строках:
    "804336";"ФИРМА ""ВОЛВА"" ЛТД \МП В ВИДЕ ЛТД\";"";"13924094";"65066, АДРЕС РЕГИСТРАЦИИ";"ИВАН ИВАНОВИЧ ИВАНОВ";"сфера деятельности";"регистрация"
    Подозреваю, что дело в "\", но addslashes не дал результата... Беда в том, что текст должен быть в виде "как есть", менять ничего нельзя... Очень прошу дать совет, как побороть эту проблему!
    Заранее спасибо!
     
  2. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Попробуй такой вариант:
    PHP:
    1. fgetcsv($handle, 0, ',', '"', '"')
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    Fgetcsv не работает с кириллицей. Но выход есть ))))
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Мне в последнее время нравится для CSV использовать http://csv.thephpleague.com/. Не такие тяжёлые классы, как PHPExcel, при этом, если кроме CSV ничего не нужно, то справляются хорошо.