Как я могу извлечь поля из файла CSV в Perl?

Я хочу извлечь деталь поля из файла CSV (830k записи) и хранилище в хеш. Есть ли какой-либо быстрый и простой способ сделать в Perl с использованием каких-либо внешних методов?

Как я могу достигнуть этого?

5
задан brian d foy 26 February 2010 в 09:39
поделиться

3 ответа

Используйте Text :: CSV_XS . Он быстрый, в меру гибкий и очень хорошо протестирован. Ответ на многие из этих вопросов есть на CPAN. Зачем тратить время на создание чего-то не такого хорошего, как то, что многие люди уже усовершенствовали и протестировали?

Если вы не хотите использовать внешние модули, что является глупым возражением, посмотрите на код в Text :: CSV_XS и сделайте это. Меня постоянно удивляет, что люди думают, что даже если они думают, что не могут использовать модуль, они не будут использовать известное и проверенное решение в качестве примера кода для той же задачи.

11
ответ дан 14 December 2019 в 04:36
поделиться

при нормальном CSV (т.е. без встроенных запятых), чтобы получить второе поле, например

 $ perl -F"," -lane 'print $F[1];' file
-1
ответ дан 14 December 2019 в 04:36
поделиться

См. также этот фрагмент кода, взятый из The Perl Cookbook, который сам по себе является отличной книгой для Perl-решений распространенных проблем

-1
ответ дан 14 December 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: