Pergunta

Estou lendo um arquivo .csv que foi criado em Excel com a primeira linha cabeçalhos estar coluna. Um cabeçalho da coluna contém uma nova linha incorporado. Eu quero ignorar essa nova linha, mas lê-lo linha por linha como:

while ( <IN> ) { 
    ...
    }

irá tratá-lo como uma nova linha que vai quebrar meu código (que eu ainda não escrito). Meu abordagem foi a de ler a primeira linha em uma matriz de posições de coluna e processar o resto das linhas de forma diferente.

Existe talvez um regex que eu posso usar em algum lugar no while que ignora a nova linha, a menos que seja a última nova linha?

Ou eu deveria estar se aproximando isso de forma diferente?

Foi útil?

Solução

Use um dos módulos Perl que CSV punho, como Text :: CSV_XS . Sua documentação mostra como lidar com newlines incorporados. Em geral, você não quer gastar seu tempo escrevendo outro parser CSV; continuar com as partes mais importantes de sua tarefa!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top