Preberite datoteko CSV v Bashu

Preberite Datoteko Csv V Bashu



Polna oblika CSV je vrednost, ločena z vejico. Datoteko CSV uporablja kodirnik za številne namene, ki shranjujejo podatke v obliki tabele s polstrukturami. Vsaka vrstica datoteke se obravnava kot vrstica tabele in vsako polje vrstice je v datoteki CSV ločeno z vejico (,). V Bashu obstaja veliko načinov za branje datotek CSV, ki so razloženi v tej vadnici.

Predpogoji:

Pred vadbo primera te vadnice morate ustvariti datoteko CSV. Ustvarite datoteko CSV z imenom »customers.csv« z naslednjo vsebino, da preverite izhod skripta, ki je uporabljen v tej vadnici. V tej datoteki je 3 rd polja 4 th vrstica in 6 th vrstica je prazna.

ID, ime, e-pošta, naslov, mobilni telefon

101 , Jafar Iqbal, Jafar @ gmail.com, 9 / A Dhanmondi Dhaka, + 8801762341425

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

103 Nirob Chowdhury 33 / 2 Jigatola Daka, 8801754532312

104 Farheen Hasan @ gmail.com < a href = 'prazno' > , a > 10 Kadhalbagun Dhaka, + 8801512875634

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

Različni načini branja datoteke CSV v Bashu

Datoteko CSV je mogoče razčleniti na različne načine s pomočjo skripta Bash. V tem delu vadnice so prikazani različni načini branja datoteke »customers.csv«.







Primer 1: Preberite izvirno vsebino datoteke CSV

Ustvarite datoteko Bash z naslednjim skriptom, ki prebere celotno vsebino datoteke »customers.csv« z uporabo zanke »while«:



#!/bin/bash

#Nastavite ime datoteke

Ime datoteke = 'customers.csv'

#Preberi vsako vrstico datoteke v vsaki ponovitvi

medtem prebrati podatke

narediti

#Natisni vrstico

odmev $podatki

Končano < $ime datoteke

Po izvedbi skripta se prikaže naslednji rezultat:







Primer 2: Preberite datoteko CSV tako, da v glavi pišete z velikimi črkami

Prva vrstica datoteke »customers.csv« vsebuje naslov datoteke. Ustvarite datoteko Bash z naslednjim skriptom, ki natisne vsebino datoteke »customers.csv«, potem ko je prva vrstica datoteke zapisana z velikimi črkami. Ukaz »awk« se v skriptu uporablja za tiskanje vsebine datoteke po vpisu velike začetnice v glavo. Vejica(,) je dodeljena v vrednosti FS in OFS v skriptu za branje datoteke »customers.csv« in pisanje datoteke »updatedcustomers.csv«. Ukaz “cat” se uporablja za tiskanje vsebine obeh datotek.

printf 'Izvirna datoteka: \n '

#Natisnite izvirno vsebino datoteke CSV

mačka cstomers.csv

#Ustvarite novo datoteko CSV, potem ko v glavi pišete z velikimi črkami

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

{

če(NR==1)

zgornji del s potiskom ($0)

drugače

tiskanje

}'
kupci.csv > posodobljene stranke.csv

printf ' \n Spremenjena datoteka: \n '

#Natisnite novo datoteko CSV

mačka posodobljene stranke.csv

Po izvedbi skripta se prikaže naslednji rezultat:



Primer 3: Zamenjajte prazno polje datoteke CSV z »Brez«

Ustvarite datoteko Bash z naslednjim skriptom, ki natisne vsebino datoteke »customers.csv« po spremembi praznega polja z vrednostjo »Brez«. V tej datoteki sta prazni dve polji, ki sta omenjeni v nadaljevanju. Ukaz »awk« se v skriptu uporablja za tiskanje vsebine datoteke po spremembi praznih polj. Vejica(,) je dodeljena v vrednosti FS in OFS v skriptu za branje datoteke »customers.csv« in pisanje datoteke »updatedcustomers.csv«. Ukaz “cat” se uporablja za tiskanje vsebine obeh datotek v obliki tabele.

printf 'Izvirna datoteka: \n '

#Natisnite izvirno vsebino datoteke CSV v obliki tabele

mačka kupci.csv | stolpec -s, -t

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

{

za (polje=1;polje<=NF;polje++)

{

if($field == '') $field='Brez'

}

tiskanje

}'
kupci.csv > modifiedcustomers2.csv

printf ' \n Spremenjena datoteka: \n '

#Natisnite novo datoteko CSV v obliki tabele

mačka modifiedcustomers2.csv | stolpec -s, -t

Po izvedbi skripta se prikaže naslednji rezultat:

Primer 4: Natisnite skupno število vrstic in stolpcev datoteke CSV

Ustvarite datoteko Bash z naslednjim skriptom, ki prešteje skupno število vrstic in stolpcev v datoteki »customers.csv«. Spremenljivka NR se uporablja za tiskanje skupnega števila vrstic datoteke. Spremenljivka NF se uporablja za tiskanje skupnega števila polj datoteke.

printf 'Izvirna datoteka: \n '

#Natisnite izvirno vsebino datoteke CSV

mačka kupci.csv

odmev

odmev -n 'Skupaj vrstic:'

awk -F, 'END{print NR}' kupci.csv

odmev -n 'Skupaj stolpcev:'

awk -F, 'END{print NF}' kupci.csv

Po izvedbi skripta se prikaže naslednji rezultat. Skupno število vrstic v datoteki je 6 in skupno število polj datoteke je 5, ki so natisnjena v izhodu:

Zaključek

Metode branja datoteke CSV, spreminjanja datoteke CSV in štetja vrstic in stolpcev datoteke CSV z uporabo skripta Bash so prikazane v tej vadnici.