Extrair coluna CSV
Peça a coluna email de uma tabela com name, email e role e receba ada@example.com e bob@example.com, em ordem e sem o cabeçalho. Escolha a coluna pelo nome ou pela posição a partir de 0, com vírgula, ponto e vírgula ou tabulação. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Coluna
- Índice da coluna
- 1
- Valores
- ada@example.com, bob@example.com
- Quantidade
- 2
- Delimitador
- ,
Extrair uma única coluna de um CSV é uma tarefa cotidiana de planilhas com uma promessa clara de produto: cole o texto da tabela, indique o campo ou seu índice base zero e receba uma lista ordenada de valores de célula sem abrir o Excel nem escrever um script improvisado. Esta capacidade analisa CSV no estilo RFC 4180 com campos entre aspas, delimitadores opcionais e um modo de cabeçalho para que a primeira linha atue como nomes de coluna em vez de dados. Entrada vazia, cabeçalhos desconhecidos e índices fora do intervalo falham com entrada inválida para que quem chama nunca armazene sucessos ocos.
O que significa extrair uma coluna CSV e quando usar
A intenção de busca por extrair coluna CSV, puxar um campo de um CSV ou obter os valores de um único campo de uma exportação de planilha é mais estreita do que transformações de tabela completa. Quem busca já tem uma tabela separada por delimitador e só quer um corte vertical: cada e-mail, cada SKU, cada pontuação.
Esta capacidade define um CSV como linhas separadas por CR, LF ou CRLF, e campos separados por um delimitador de um único caractere (vírgula por padrão, com ponto e vírgula e tabulação aceitos para exportações regionais e TSV). Os campos podem ficar entre aspas duplas; aspas embutidas devem ser duplicadas conforme RFC 4180 para que vírgulas e quebras de linha dentro de uma célula não partam a linha. Prefira esta ferramenta extract-csv-column quando a landing for literalmente um campo como lista.
Casos de uso
Listas de e-mail a partir de exportações de CRM
Cole um CSV de contatos, selecione a coluna de e-mail pelo nome do cabeçalho e copie os valores ordenados para uma ferramenta de mala direta ou newsletter.
Colunas de nota para diários de classe
Professores puxam uma coluna de avaliação de uma exportação de turma sem abrir uma planilha e colam os valores em uma calculadora ou LMS.
Perguntas frequentes
Como extraio uma coluna de um CSV?
O array values da resposta lista esse campo em ordem de linha.
Posso selecionar uma coluna por índice em vez de por nome?
Sim. Passe column como número ou string numérica como 0 ou "2".
A ferramenta para extrair coluna CSV é gratuita?
A ferramenta do navegador roda grátis no seu dispositivo.
Ela suporta tabulações ou pontos e vírgulas como separadores?
Sim. Defina delimiter como ";" ou use "\t" para valores separados por tabulação. O delimitador padrão é a vírgula.
Por que o nome da minha coluna não é encontrado?
Os cabeçalhos precisam coincidir exatamente, inclusive nas maiúsculas, então Email e email são colunas diferentes. Se só as maiúsculas mudam, a mensagem pode sugerir a grafia que existe. Confira também se a primeira linha traz os cabeçalhos.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/str/csv-select-column \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"csv":"name,email,role\nAda,ada@example.com,admin\nBob,bob@example.com,user","column":"email"}'const res = await fetch("https://api.kit.forhosting.com/str/csv-select-column", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"csv": "name,email,role\nAda,ada@example.com,admin\nBob,bob@example.com,user",
"column": "email"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/csv-select-column",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"csv": "name,email,role\nAda,ada@example.com,admin\nBob,bob@example.com,user",
"column": "email"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/csv-select-column", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"csv":"name,email,role\\nAda,ada@example.com,admin\\nBob,bob@example.com,user","column":"email"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"csv":"name,email,role\nAda,ada@example.com,admin\nBob,bob@example.com,user","column":"email"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/csv-select-column", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"csv": "name,email,role\nAda,ada@example.com,admin\nBob,bob@example.com,user",
"column": "email"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.csv_select_column",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
O que significa extrair uma coluna CSV e quando usar
Quando has_header é true, a primeira linha fornece os nomes das colunas e é excluída do array values retornado; quando é false, cada linha é dado e você deve selecionar por índice numérico. Não a use para filtrar linhas por condição, unir dois arquivos, renomear muitas colunas ou converter uma tabela inteira em JSON aninhado — são intenções de produto separadas com landings próprias.
Contrato de entrada, seleção por cabeçalho ou índice e campos da resposta
O delimiter opcional tem padrão vírgula; use um único caractere ou a forma comum "\t" para tabulação. A correspondência de cabeçalhos diferencia maiúsculas e minúsculas, de modo que Email e email são diferentes; quando um descompasso só de maiúsculas se resolveria de forma única, a mensagem de erro pode sugerir a grafia disponível. Envie um corpo JSON com o campo de string obrigatório csv igual ao texto não vazio da tabela e o column obrigatório igual a um nome de cabeçalho ou a um índice inteiro base zero (como número ou string numérica pura como "0"). Os aliases text, input, data, source, content e value são aceitos para o corpo CSV; col, field, index e name para o seletor. O opcional has_header tem padrão true; defina false quando a primeira linha já for dado. Falta de csv, csv vazio, csv não string, column ausente, nomes de cabeçalho desconhecidos, índices negativos ou fora do intervalo e campos entre aspas sem fechar disparam invalid_input com uma mensagem que nomeia o problema, e essas falhas não são cobradas na API pré-paga. Em sucesso a resposta inclui column como rótulo resolvido, column_index como posição base zero usada, values como as strings de célula em ordem (string vazia se uma linha curta não tiver essa célula), count igual ao comprimento de values, has_header e delimiter ecoando o modo, row_count como número de linhas de dados, method sempre csv_select_column, e headers com os nomes da primeira linha somente quando has_header é true — campos opcionais são omitidos em vez de null. Use só values quando uma lista de e-mails precisar apenas da coluna; use headers e column_index ao montar tabelas de UI que destaquem o campo selecionado.
Uso da API, preços, fluxos de trabalho e limites práticos
Chame a ferramenta gratuita no navegador para extrair coluna CSV em tabelas de dever de casa, exportações de CRM e puxadas rápidas de campo sem escrever um parser CSV em cada linguagem. Não espere inferência de tipos, parsing de datas ou detecção automática de delimitador além do parâmetro delimiter explícito — são problemas separados. Autores que enviam SDKs podem documentar csv e column como obrigatórios, mostrar um exemplo de sucesso com cabeçalho nomeado e um erro de coluna ausente para que integradores vejam os dois lados do contrato. Use a API pré-paga do KIT quando um CMS, etapa ETL, harness de QA, app de tutoria ou cliente móvel precisar do mesmo contrato com saldo a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo após o motor rejeitar a requisição. Um fluxo típico cola uma exportação, seleciona a coluna email com has_header true e então alimenta values em um envio de e-mail ou etapa de deduplicação. Combine este endpoint com filter-csv ou csv-to-json quando o próximo passo for seleção de linhas ou um array completo de objetos, mas mantenha extrair coluna CSV como landing própria para que a intenção de um único campo não se misture com transformações de várias colunas. Mantenha payloads em tamanhos de documento ordinários adequados a um isolate de Worker, em vez de dumps de armazém de vários megabytes.
Casos de integração
IDs de fixture para testes
Scripts de CI extraem uma coluna id estável por índice base zero de fixtures CSV golden para que parsers e pipelines falhem em regressões de ordem de colunas.
Perguntas técnicas
O que acontece se o nome do cabeçalho estiver errado?
A requisição falha com invalid_input e lista os cabeçalhos disponíveis. A correspondência diferencia maiúsculas; falhas de validação não são cobradas na API pré-paga.