Это должно быть относительно легко, но я изо всех сил пытаюсь найти решение. Я получаю данные с использованием проприетарного сетевого протокола с шифрованием, а в конце весь полученный контент попадает в переменную. Содержимое - это файл CSV, и мне нужно проанализировать эти данные.Parse CSV content
Если это был обычный файл на диске, я мог бы использовать fgetcsv
; если бы я мог каким-то образом разбить содержимое на отдельные записи, я мог бы использовать str_getcsv
- но как я могу разбить этот файл на записи? Простое чтение до тех пор, пока новая строка не будет работать, потому что CSV может содержать значения с разрывами строк в них. Ниже приведен примерный набор данных:
ID,SLN,Name,Address,Contract no
123,102,Market 1a,"Main street, Watertown, MA, 02471",16
125,97,Sinthetics,"Another address,
Line 2
City, NY 10001",16
167,105,"Progress, ahead",,18
Все эти данные хранятся внутри одной переменной - и мне нужно ее проанализировать.
Конечно, я всегда могу записать эти данные во временный файл на диске, прочитав/проанализировав его с помощью fgetcsv
, но мне кажется крайне неэффективным.
[Здесь] (http://stackoverflow.com/questions/11337221/codeigniter-rest- csv-import-to-mysql/11339125 # 11339125) является ответом. Используйте эту библиотеку –
@raheelshan Вы прочитали вопрос? Эта «библиотека» читает из файла - и у меня нет файла. Если бы у меня был файл, я бы не стал задавать этот вопрос, я знаю, как читать CSV-данные из файла. –