Pracuji se soubory CSV a občas potřebuji rychle zkontrolovat obsah řádku nebo sloupce z příkazového řádku. V mnoha případech cut
, head
, tail
a přátelé tuto práci udělají; cut se však nemůže snadno vypořádat se situacemi, jako je
"this, is the first entry", this is the second, 34.5
Zde je první čárka součástí prvního pole, ale cut -d, -f1
nesouhlasí. Než sám napíšu řešení, zajímalo by mě, jestli někdo neví o dobrém nástroji, který již pro tuto práci existuje. Muselo by to přinejmenším umět zpracovat výše uvedený příklad a vrátit sloupec ze souboru ve formátu CSV. Mezi další žádoucí funkce patří možnost výběru sloupců na základě názvů sloupců uvedených v prvním řádku, podpora jiných stylů citací a podpora souborů oddělených tabulátory.
Pokud o takovém nástroji nevíte, ale máte návrhy týkající se implementace takového programu v Bash, Perlu nebo Pythonu nebo jiných běžných skriptovacích jazycích, takové návrhy by mi nevadily.
Přijatá odpověď:
Můžete použít csv
Pythonu modul.
Jednoduchý příklad:
import csv
reader = csv.reader(open("test.csv", "r"))
for row in reader:
for col in row:
print col