Jak dołączyć i wiele kolumn do pliku formatu CSV

Jak dołączyć i wiele kolumn do pliku formatu CSV

W poniższym przykładzie można znaleźć kilka wskazówek, jak łączyć kolumny z wielu plików do jednego pliku wartości oddzielonej przecinka (CSV). Do odczytania kolumn z wielu plików, których możemy użyć pasta Komenda. Rozważ następujący przykład. W naszym katalogu piasku mamy 3 pliki, w których każdy zawiera jedną kolumnę daty:

$ ls f1 f3 $ cat f1 az dr qw rt er $ cat f2 iu Dr gg hh jj qq ee ui $ cat f3 qp df 

Następnie możemy dołączyć do nich za pomocą pasta:

$ paste f1 f2 f3 az iu qp dr df qw gg rt hh er jj qq ee ui 

Domyślnie używa polecenia wklejania PATKA Aby oddzielić wszystkie kolumny od siebie. To zachowanie można zastąpić za pomocą używania -D opcja. Na przykład zamiast pliku ograniczonego zakładki tworzymy plik wyznaczonego przecinka:

$ paste -d, f1 f2 f3 az, iu, qp Dr, Dr, df qw, gg, rt, hh, er, jj ,, qq, ee ,, ui, 

Ok, to było łatwe. Ale co z dołączeniem do wybranych kolumn z wielu plików kolumn? Rozważ następujące PATKA Delimited Pliki wyślij, w których każdy plik zawiera więcej niż jedną kolumnę:

$ ls f4 f5 $ cat f4 qw mn qw ty ix ao pi er sy $ cat f5 rk wp lp cy wn em $ cat f6 tr er wm ut vb mq rp el st st 

Za pomocą wklejania we wszystkich plikach dołączy do wszystkich kolumn w jednym wyjściu:

$ paste f4 f5 f6 qw mn qw rk wp tr er wm ty ix ao lp cyt vb mq pi er sy wn em rp el st 

Po uzyskaniu powyższego wyjścia możemy użyć cięcie Lub Awk Polecenia, które wybierają tylko te kolumny, którymi jesteśmy zainteresowani. W następnym przykładzie dołączymy do drugiego i trzeciego z f4 plik, pierwsza kolumna z f5 plik i ostatnia kolumna z f6 z , jako ogranicznik:

$ wklej f4 f5 f6 | awk 'start ofs = "," drukuj 2 $, 3 $, 4 $, 8 $ mn, qw, rk, wm ix, ao, lp, mq er, sy, wn, st 

Należy pamiętać, że możesz określić kolumny wyjściowe w dowolnej kolejności, więc na przykład jest to również prawidłowe polecenie:

$ wklej f4 f5 f6 | awk 'start ofs = "," drukuj 4 $, 8 $, 2 $, 3 $ rk, wm, mn, qw lp, mq, ix, ao wn, st, er, SY 

Podobnie a cięcie polecenie z kombinacją tr Może być używany do łączenia lub oddzielania wielu kolumn Forma oddzielona przecinek Plik CSV lub stdin:

$ wklej f4 f5 f6 | tr '\ t ",' | cut -d, -f2,3,4,8 mn, qw, rk, wm ix, ao, lp, mq er, sy, wn, st 

Ostatnią rzeczą, o której należy wspomnieć, aby zapisać nowe wyjście CSV w pliku, aby użyć przekierowania, aby przekierować go do nowego pliku. Na przykład tworzymy nowy plik o nazwie moje dane.CSV:

$ wklej f4 f5 f6 | tr '\ t ",' | cut -d, -f2,3,4,8> mydata.CSV 

Powiązane samouczki Linux:

  • Jak czytać i tworzyć pliki CSV za pomocą Pythona
  • Jak połączyć się z serwerem FTP za pomocą Pythona
  • Mastering Bash Script Loops
  • Przydatne przykłady i sztuczki
  • Wprowadzenie do Vagrant
  • Przydatne przykłady i sztuczki
  • Przydatne przykłady i wskazówki dotyczące linii poleceń Bash - część 2
  • Przydatne przykłady i wskazówki dotyczące linii poleceń Bash - część 4
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Przydatne przykłady i sztuczki