Baca File CSV di Bash

Baca File Csv Di Bash



Bentuk lengkap CSV adalah Comma Separated Value. File CSV digunakan oleh pembuat kode untuk banyak tujuan yang menyimpan data dalam format tabular semi-struktur. Setiap baris file diperlakukan sebagai baris tabel dan setiap bidang baris dipisahkan oleh koma (,) di file CSV. Banyak cara yang ada di Bash untuk membaca file CSV yang dijelaskan dalam tutorial ini.

Prasyarat:

Anda harus membuat file CSV sebelum mempraktekkan contoh tutorial ini. Buat file CSV bernama 'customers.csv' dengan konten berikut untuk memeriksa output skrip yang digunakan dalam tutorial ini. Dalam file ini, 3 rd bidang 4 th baris dan 6 th baris kosong.

ID, Nama, Email, Alamat, Ponsel

101 , Jafar Iqbal, jafar @ gmail.com, 9 / A 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 = 'kosong' > , A > 10 Kadhalbagun Dhaka, + 8801512875634

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

Berbagai Cara Membaca File CSV di Bash

File CSV dapat diuraikan dengan berbagai cara menggunakan skrip Bash. Berbagai cara untuk membaca file “customers.csv” ditunjukkan di bagian tutorial ini.







Contoh 1: Baca Konten Asli File CSV

Buat file Bash dengan skrip berikut yang membaca konten lengkap file 'customers.csv' menggunakan loop 'while':



#!/bin/bash

#Atur nama file

nama file = 'pelanggan.csv'

#Baca setiap baris file di setiap iterasi

ketika membaca data

Mengerjakan

#Cetak garis

gema $data

Selesai < $namafile

Output berikut muncul setelah mengeksekusi skrip:







Contoh 2: Baca File CSV dengan Mengapitalkan Header

Baris pertama file “customers.csv” berisi judul file. Buat file Bash dengan skrip berikut yang mencetak konten file 'customers.csv' setelah mengkapitalisasi baris pertama file. Perintah 'awk' digunakan dalam skrip untuk mencetak konten file setelah mengkapitalisasi header. Koma(,) ditetapkan dalam nilai FS dan OFS dalam skrip untuk membaca file “customers.csv” dan menulis file “updatedcustomers.csv”. Perintah 'cat' digunakan untuk mencetak konten kedua file.

printf 'Berkas Asli: \N '

#Cetak konten asli file CSV

kucing cstomers.csv

#Buat file CSV baru setelah mengkapitalisasi header

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

{

jika(NR==1)

cetak toupper($0)

kalau tidak

mencetak

}'
pelanggan.csv > diperbaruipelanggan.csv

printf ' \N Berkas yang Dimodifikasi: \N '

#Cetak file CSV baru

kucing diperbaruipelanggan.csv

Output berikut muncul setelah mengeksekusi skrip:



Contoh 3: Ganti Bidang Kosong File CSV dengan 'Tidak Ada'

Buat file Bash dengan skrip berikut yang mencetak konten file 'customers.csv' setelah memodifikasi bidang kosong dengan nilai 'Tidak Ada'. Dua bidang kosong dalam file ini yang disebutkan berikut ini. Perintah 'awk' digunakan dalam skrip untuk mencetak konten file setelah memodifikasi kolom kosong. Koma(,) ditetapkan dalam nilai FS dan OFS dalam skrip untuk membaca file “customers.csv” dan menulis file “updatedcustomers.csv”. Perintah 'cat' digunakan untuk mencetak konten kedua file dalam format tabel.

printf 'Berkas Asli: \N '

#Cetak konten asli file CSV dalam bentuk tabel

kucing pelanggan.csv | kolom -s, -T

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

{

untuk(bidang=1;bidang<=NF;bidang++)

{

if($bidang == '') $bidang='Tidak ada'

}

mencetak

}'
pelanggan.csv > modifiedcustomers2.csv

printf ' \N Berkas yang Dimodifikasi: \N '

#Cetak file CSV baru dalam bentuk tabel

kucing modifiedcustomers2.csv | kolom -s, -T

Output berikut muncul setelah mengeksekusi skrip:

Contoh 4: Cetak Total Jumlah Baris dan Kolom File CSV

Buat file Bash dengan skrip berikut yang menghitung jumlah total baris dan kolom dalam file 'customers.csv'. Variabel NR digunakan untuk mencetak jumlah total baris file. Variabel NF digunakan untuk mencetak jumlah bidang file.

printf 'Berkas Asli: \N '

#Cetak konten asli file CSV

kucing pelanggan.csv

gema

gema -N 'Jumlah baris:'

awk -F, 'AKHIR{cetak NR}' pelanggan.csv

gema -N 'Jumlah kolom:'

awk -F, 'AKHIR{cetak NF}' pelanggan.csv

Output berikut muncul setelah mengeksekusi skrip. Total baris dalam file adalah 6 dan total bidang file adalah 5 yang dicetak di output:

Kesimpulan

Metode membaca file CSV, memodifikasi file CSV, dan menghitung baris dan kolom file CSV menggunakan skrip Bash ditunjukkan dalam tutorial ini.