Como ingressar e várias colunas para o arquivo de formato CSV

Como ingressar e várias colunas para o arquivo de formato CSV

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