Como ingressar e várias colunas para o arquivo de formato CSV
- 4877
- 1115
- Spencer Emard
No exemplo abaixo, você pode encontrar algumas dicas sobre como participar de colunas de vários arquivos para um único arquivo de valor separado por vírgula (CSV). Para ler uma coluna, formam vários arquivos que podemos usar colar
comando. Considere um exemplo a seguir. Em nosso diretório de caixa de areia, temos 3 arquivos, onde cada um contém uma única coluna de data:
$ ls f1 f2 f3 $ cat f1 az dr qw rt er $ cat f2 iu dr gg hh jj qq ee ui $ cat f3 qp df
Em seguida, podemos nos juntar a eles usando colar
:
$ paste f1 f2 f3 az iu qp dr df qw gg rt hh er jj qq ee ui
Por padrão, o comando paste usará ABA
para separar todas as colunas uma da outra. Este comportamento pode ser substituído usando -d
opção. Por exemplo, em vez de um arquivo delimitado de guia, criamos um arquivo delimitado de vírgula:
$ paste -d, f1 f2 f3 az, iu, qp dr, dr, df qw, gg, rt, hh, er, jj, qq ,, ee ,, ui,
OK, isso foi fácil. Mas que tal unir colunas selecionadas de vários arquivos de colunas? Considere um seguimento ABA
Arquivos de caixa de envio delimitados, onde cada arquivo contém mais de uma coluna:
$ ls f4 f5 f6 $ cat f4 qw mn qw ty ix Ao pi er
Usando uma pasta em todos os arquivos, unirá todas as colunas em uma única saída:
$ paste f4 f5 f6 qw mn qw rk wp tr er wm ty ix Ao lp cy ut vb mq pi er sy wn em rp el st
Depois de termos a saída acima, podemos usar corte
ou Awk
comandos para selecionar apenas as colunas em que estamos interessados. No próximo exemplo, entraremos em um segundo e terceiro de um F4
arquivo, primeira coluna de F5
arquivo e última coluna de F6
com ,
Como delimitador:
$ paste f4 f5 f6 | awk 'Begin ofs = "," print $ 2, $ 3, $ 4, $ 8' Mn, QW, RK, WM IX, AO, LP, MQ ER, SY, WN, ST, ST
Observe que você pode especificar as colunas de saída em qualquer ordem, por exemplo, este também é um comando válido:
$ paste f4 f5 f6 | awk 'Begin ofs = "," print $ 4, $ 8, $ 2, $ 3' rk, wm, mn, qw lp, mq, ix, ao wn, st, er, sy
Da mesma forma a corte
comando com uma combinação de tr
Pode ser usado para ingressar ou separar várias colunas formam um valor CSV ou stdin de valor separado por vírgula:
$ paste f4 f5 f6 | tr '\ t ",' | corte -d, -f2,3,4,8 mn, qw, rk, wm ix, ao, lp, mq er, sy, wn, st
A última coisa a mencionar é que, para salvar sua nova saída CSV em um arquivo, você precisa usar o redirecionamento para redirecioná -lo para um novo arquivo. Por exemplo, criamos um novo arquivo chamado meus dados.CSV
:
$ paste f4 f5 f6 | tr '\ t ",' | corte -d, -f2,3,4,8> mydata.CSV
Tutoriais do Linux relacionados:
- Como ler e criar arquivos CSV usando Python
- Como se conectar a um servidor FTP usando o Python
- Mastering Bash Script Loops
- Exemplos úteis de linha de comando bash e exemplos de truques - Parte 1
- Introdução ao Vagrant
- Exemplos úteis de linha de comando BASH - Parte 3
- Exemplos úteis de linha de comando bash e exemplos de truques - Parte 2
- Exemplos úteis de linha de comando Bash e truques - Parte 4
- Uma introdução à automação, ferramentas e técnicas do Linux
- Exemplos úteis de linha de comando BASH - Parte 5
- « Como remover uma linha do arquivo de texto usando um comando sed
- Leia/gravação Referência de velocidade de Samsung SSD 850 Pro »