Escreve uma lista de linhas, cada uma uma lista de células, como texto CSV; uma célula que contenha um separador, aspas ou uma quebra de linha é envolvida em aspas duplas.
Exemplo: [["name", "age"], ["John", "30"]] -> name,age e John,30 em duas linhas.
As linhas e os dois separadores
O texto CSV
Escreve uma lista de objetos como texto CSV com as colunas que nomear em headers, por essa ordem; uma
propriedade que um objeto não tenha torna-se uma célula vazia.
Com includeHeaders verdadeiro a primeira linha contém os nomes de cabeçalho. Exemplo: [{ name: "John", age: "30" }] com cabeçalhos ["name", "age"] -> name,age e John,30.
Os objetos, os nomes das colunas, o indicador de cabeçalho e os separadores
O texto CSV
Escreve uma lista de objetos como texto CSV usando os nomes de propriedade do primeiro objeto como as colunas, pela sua ordem; uma lista vazia dá texto vazio.
Exemplo: [{ name: "John", age: "30" }] -> name,age e John,30.
Os objetos, o indicador de cabeçalho e os separadores
O texto CSV
Divide texto CSV numa lista de linhas, cada uma uma lista de strings de células; nada é convertido em números.
As linhas em branco são saltadas, as células são aparadas com a sua linha, e uma célula entre aspas duplas pode
conter o separador e aspas duplicadas. Exemplo: a,b,c e 1,2,3 em duas linhas ->
[["a", "b", "c"], ["1", "2", "3"]].
O texto CSV e os dois separadores
As linhas como listas de strings de células
Transforma texto CSV numa lista de objetos, um por linha de dados, com chaves dos nomes de cabeçalho da linha
headerRow.
As linhas começam em dataStartRow, as colunas nomeadas em numberColumns tornam-se números e uma célula
em falta torna-se uma string vazia. Exemplo: name,age depois John,30 -> [{ name: "John", age: "30" }].
O texto CSV, os índices das linhas de cabeçalho e de dados, os separadores e as colunas numéricas
Um objeto por linha de dados
Transforma texto CSV numa lista de objetos com as chaves dos headers que der, para ficheiros sem
linha de cabeçalho; uma linha de cabeçalho que o ficheiro tenha é saltada definindo dataStartRow para lá dela.
As colunas nomeadas em numberColumns tornam-se números. Exemplo: John,30 com cabeçalhos ["name", "age"] -> [{ name: "John", age: "30" }].
O texto CSV, os nomes dos cabeçalhos, a linha de início dos dados, os separadores e as colunas numéricas
Um objeto por linha de dados
Lista todos os valores de uma coluna, encontrada pelo seu nome de cabeçalho, pela ordem das linhas; uma linha sem essa célula dá uma string vazia.
Com asNumber verdadeiro os valores são analisados como números. Exemplo: name,age depois John,30 e
Jane,25, coluna name -> ["John", "Jane"].
O texto CSV, o nome da coluna, os índices das linhas de cabeçalho e de dados, os separadores e o indicador numérico
Os valores da coluna, de cima para baixo
Mantém só as linhas cuja célula em column é igual a value, dando-as como objetos com as chaves dos
cabeçalhos.
A comparação é feita sobre texto a menos que a coluna esteja listada em numberColumns, caso em que ambos
os lados são comparados como números. Exemplo: coluna age, valor 30 -> [{ name: "John", age: "30" }].
O texto CSV, o nome da coluna, o valor, os índices das linhas, os separadores e as colunas numéricas
As linhas correspondentes como objetos
Lê as células da linha headerRow como os nomes de cabeçalho; um índice de linha para lá do fim lança um
erro.
Exemplo: name,age depois John,30 -> ["name", "age"].
O texto CSV, o índice da linha de cabeçalho e os separadores
Os nomes dos cabeçalhos pela ordem das colunas
Conta as linhas de dados: todas as linhas não vazias menos as anteriores a dataStartRow, ou menos uma
linha de cabeçalho quando hasHeaders é verdadeiro e dataStartRow é omitido.
Exemplo: name,age, John,30, Jane,25 com cabeçalhos -> 2.
O texto CSV, o indicador de cabeçalho, a linha de início dos dados opcional e os separadores
O número de linhas de dados
Conta as células da primeira linha não vazia, que é o número de colunas; texto vazio dá 0.
Exemplo: name,age,city depois John,30,NYC -> 3.
O texto CSV e os dois separadores
O número de colunas
Ler e escrever CSV, o formato de tabela em texto simples com uma linha por linha de texto e um separador entre células. Os analisadores dividem por
rowSeparatorecolumnSeparator, respeitam células entre aspas duplas com aspas duplicadas no interior, saltam linhas em branco e leem\n,\te\rescritos como dois carateres como o caráter real; os escritores põem entre aspas uma célula que contenha um separador, uma aspa ou uma quebra de linha.