Nano Hash - криптовалюты, майнинг, программирование

fgetcsv оставляет кавычки на первом элементе

У меня проблемы с чтением файла CSV, в котором значения заключены в кавычки.

Первая строка моего CSV-файла — это заголовки, и они выглядят следующим образом:

"Header 1","Header 2","Header 3","Header 4","Header 5"

При использовании fgetcsv первый заголовок сохраняет окружающие кавычки.

while (($row = fgetcsv($file, 6000, ',')) !== false)
{
    echo '<pre>';
    print_r($row);
    echo '</pre>';
    exit;
}

Это выводит на страницу следующее

Array
(
    [0] => "Header 1"
    [1] => Header 2
    [2] => Header 3
    [3] => Header 4
    [4] => Header 5
)

Есть ли у кого-нибудь какие-либо советы о том, как убедиться, что кавычки не включены в первый элемент массива?

Спасибо

19.09.2018


Ответы:


1

Как сказал Карстен Куп в комментарии, это, вероятно, связано с символом спецификации utf8. И поскольку php не решает эту проблему, вам нужно избавиться от этого символа, прежде чем открывать CSV-файл для чтения.

то есть с помощью такой функции (подробнее):

public static function removeUtf8Bom($fileUri){
    $content = file_get_contents($fileUri);
    $content = str_replace("\xEF\xBB\xBF",'',$content);
    file_put_contents($fileUri,$content);
}
16.03.2021
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..