Přečtěte si soubor CSV v Bash

Prectete Si Soubor Csv V Bash



Úplná forma CSV je hodnota oddělená čárkami. Soubor CSV používá kodér k mnoha účelům, které ukládají data v tabulkovém formátu semistruktur. Každý řádek souboru je považován za řádek tabulky a každé pole řádku je v souboru CSV odděleno čárkou (,). V Bash existuje mnoho způsobů, jak číst soubory CSV, které jsou vysvětleny v tomto tutoriálu.

Předpoklady:

Před procvičováním příkladu z tohoto tutoriálu musíte vytvořit soubor CSV. Vytvořte soubor CSV s názvem „customers.csv“ s následujícím obsahem, abyste mohli zkontrolovat výstup skriptu použitého v tomto kurzu. V tomto souboru je 3 rd pole 4 čt řádek a 6 čt řádek je prázdný.

ID, jméno, e-mail, adresa, mobil

101 , Džafar Iqbal, Džafar @ gmail.com, 9 / Dhanmondi Dhaka, + 8801762341425

102 , Kamal Hossain, Kamal @ gmail.com, 120 Mirpur Dhaka, 8801988675345

103 Nirob Chowdhury 33 / 2 Jigatola Dhaka, 8801754532312

104 Farheen Hasan @ gmail.com < A href = 'prázdný' > , A > 10 Kadhalbagun Dhaka, + 8801512875634

105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423

Různé způsoby, jak číst soubor CSV v Bash

Soubor CSV lze analyzovat různými způsoby pomocí skriptu Bash. V této části tutoriálu jsou uvedeny různé způsoby čtení souboru „customers.csv“.







Příklad 1: Přečtěte si původní obsah souboru CSV

Vytvořte soubor Bash pomocí následujícího skriptu, který přečte celý obsah souboru „customers.csv“ pomocí smyčky „while“:



#!/bin/bash

#Nastavte název souboru

název souboru = 'customers.csv'

#Přečtěte si každý řádek souboru v každé iteraci

zatímco číst data

dělat

#Vytiskněte řádek

echo $data

Hotovo < $filename

Po spuštění skriptu se zobrazí následující výstup:







Příklad 2: Čtení souboru CSV psaním velkých písmen v záhlaví

První řádek souboru „customers.csv“ obsahuje záhlaví souboru. Vytvořte soubor Bash pomocí následujícího skriptu, který vytiskne obsah souboru „customers.csv“ po uvedení prvního řádku souboru na velká. Příkaz „awk“ se ve skriptu používá k vytištění obsahu souboru po použití velkých písmen v záhlaví. Čárka(,) je přiřazena v hodnotách FS a OFS ve skriptu pro čtení souboru „customers.csv“ a zápis souboru „updatedcustomers.csv“. Příkaz „cat“ se používá k vytištění obsahu obou souborů.

printf 'Původní soubor: \n '

#Vytiskněte původní obsah souboru CSV

kočka cstomers.csv

#Po použití velkých písmen v záhlaví vytvořte nový soubor CSV

awk 'BEGIN{FS=',';OFS=','}

{

if(NR==1)

tiskový topper (0 $)

jiný

tisk

}'
zákazníci.csv > updatedcustomers.csv

printf ' \n Upravený soubor: \n '

#Vytiskněte nový soubor CSV

kočka updatedcustomers.csv

Po spuštění skriptu se zobrazí následující výstup:



Příklad 3: Nahraďte prázdné pole souboru CSV textem „Žádný“

Vytvořte soubor Bash pomocí následujícího skriptu, který vytiskne obsah souboru „customers.csv“ po úpravě prázdného pole hodnotou „None“. V tomto souboru jsou prázdná dvě pole, která jsou zmíněna dále. Příkaz „awk“ se ve skriptu používá k vytištění obsahu souboru po úpravě prázdných polí. Čárka(,) je přiřazena v hodnotách FS a OFS ve skriptu pro čtení souboru „customers.csv“ a zápis souboru „updatedcustomers.csv“. Příkaz „cat“ slouží k vytištění obsahu obou souborů v tabulkovém formátu.

printf 'Původní soubor: \n '

#Vytiskněte původní obsah souboru CSV ve formě tabulky

kočka zákazníci.csv | sloupec -s, -t

awk 'BEGIN{FS=',';OFS=','}

{

for(pole=1;pole<=NF;pole++)

{

if($field == '') $field='None'

}

tisk

}'
zákazníci.csv > upravení zákazníci2.csv

printf ' \n Upravený soubor: \n '

#Vytiskněte nový soubor CSV ve formě tabulky

kočka upravení zákazníci2.csv | sloupec -s, -t

Po spuštění skriptu se zobrazí následující výstup:

Příklad 4: Vytiskněte celkový počet řádků a sloupců souboru CSV

Vytvořte soubor Bash pomocí následujícího skriptu, který počítá celkový počet řádků a sloupců v souboru „customers.csv“. Proměnná NR se používá k vytištění celkového počtu řádků souboru. Proměnná NF slouží k vytištění celkového počtu polí souboru.

printf 'Původní soubor: \n '

#Vytiskněte původní obsah souboru CSV

kočka zákazníci.csv

echo

echo -n 'Celkový počet řádků:'

awk -F, 'END{print NR}' zákazníci.csv

echo -n 'Sloupce celkem:'

awk -F, 'END{print NF}' zákazníci.csv

Po provedení skriptu se zobrazí následující výstup. Celkový počet řádků v souboru je 6 a celkový počet polí v souboru je 5, která se vytisknou ve výstupu:

Závěr

V tomto kurzu jsou uvedeny metody čtení souboru CSV, úpravy souboru CSV a počítání řádků a sloupců souboru CSV pomocí skriptu Bash.