Διαβάστε το Αρχείο CSV στο Bash

Diabaste To Archeio Csv Sto Bash



Η πλήρης μορφή του CSV είναι Τιμή διαχωρισμένη με κόμμα. Το αρχείο CSV χρησιμοποιείται από τον κωδικοποιητή για πολλούς σκοπούς που αποθηκεύουν τα δεδομένα σε μορφή πίνακα ημι-δομών. Κάθε γραμμή του αρχείου αντιμετωπίζεται ως γραμμή του πίνακα και κάθε πεδίο της σειράς διαχωρίζεται με κόμμα (,) στο αρχείο CSV. Υπάρχουν πολλοί τρόποι στο Bash για να διαβάσετε τα αρχεία CSV που εξηγούνται σε αυτό το σεμινάριο.

Προαπαιτούμενα:

Πρέπει να δημιουργήσετε ένα αρχείο CSV πριν εξασκήσετε το παράδειγμα αυτού του σεμιναρίου. Δημιουργήστε ένα αρχείο CSV με το όνομα 'customers.csv' με το ακόλουθο περιεχόμενο για να ελέγξετε την έξοδο του σεναρίου που χρησιμοποιείται σε αυτό το σεμινάριο. Σε αυτό το αρχείο, το 3 rd πεδία των 4 ου γραμμή και 6 ου η γραμμή είναι άδεια.

Ταυτότητα, Όνομα, Email, Διεύθυνση, Κινητό

101 , Τζαφάρ Ικμπάλ, Τζαφάρ @ gmail.com, 9 / A Dhanmondi Dhaka, + 8801762341425

102 , Kamal Hossain, Kamal @ gmail.com, 120 Μιρπούρ Ντάκα, 8801988675345

103 Nirob Chowdhury 33 / 2 Jigatola Dhaka, 8801754532312

104 Farheen Hasan @ gmail.com < ένα href = 'κενό' > , ένα > 10 Kadhalbagun Dhaka, + 8801512875634

105 , Md. Ραχίμ, 2 / B Dhanmondi Dhaka, + 8801700453423

Διαφορετικοί τρόποι ανάγνωσης του αρχείου CSV στο Bash

Το αρχείο CSV μπορεί να αναλυθεί με διαφορετικούς τρόπους χρησιμοποιώντας ένα σενάριο Bash. Διαφορετικοί τρόποι ανάγνωσης του αρχείου 'customers.csv' εμφανίζονται σε αυτό το μέρος του σεμιναρίου.







Παράδειγμα 1: Διαβάστε το αρχικό περιεχόμενο του αρχείου CSV

Δημιουργήστε ένα αρχείο Bash με το ακόλουθο σενάριο που διαβάζει το πλήρες περιεχόμενο του αρχείου 'customers.csv' χρησιμοποιώντας τον βρόχο 'while':



#!/bin/bash

#Ρυθμίστε το όνομα αρχείου

όνομα αρχείου = 'customers.csv'

#Διαβάστε κάθε γραμμή του αρχείου σε κάθε επανάληψη

ενώ ανάγνωση δεδομένα

κάνω

#Εκτυπώστε τη γραμμή

ηχώ $δεδομένα

Έγινε < $όνομα αρχείου

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου:







Παράδειγμα 2: Διαβάστε το αρχείο CSV χρησιμοποιώντας κεφαλαία την κεφαλίδα

Η πρώτη γραμμή του αρχείου 'customers.csv' περιέχει την επικεφαλίδα του αρχείου. Δημιουργήστε ένα αρχείο Bash με την ακόλουθη δέσμη ενεργειών που εκτυπώνει το περιεχόμενο του αρχείου 'customers.csv' αφού γράψετε κεφαλαία την πρώτη γραμμή του αρχείου. Η εντολή 'awk' χρησιμοποιείται στο σενάριο για την εκτύπωση του περιεχομένου του αρχείου μετά τη χρήση κεφαλαίων στην κεφαλίδα. Το κόμμα(,) εκχωρείται στις τιμές FS και OFS στο σενάριο για να διαβάσει το αρχείο 'customers.csv' και να γράψει το αρχείο 'updatedcustomers.csv'. Η εντολή «cat» χρησιμοποιείται για την εκτύπωση του περιεχομένου και των δύο αρχείων.

printf 'Αρχικό αρχείο: \n '

#Εκτυπώστε το αρχικό περιεχόμενο του αρχείου CSV

Γάτα cstomers.csv

#Δημιουργήστε ένα νέο αρχείο CSV αφού γράψετε κεφαλαία την κεφαλίδα

οκ 'BEGIN{FS=',';OFS=','}

{

if(NR==1)

φόρμα εκτύπωσης ($0)

αλλού

Τυπώνω

}'
πελάτες.csv > updatedcustomers.csv

printf ' \n Τροποποιημένο αρχείο: \n '

#Εκτυπώστε το νέο αρχείο CSV

Γάτα updatedcustomers.csv

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου:



Παράδειγμα 3: Αντικαταστήστε το κενό πεδίο του αρχείου CSV με 'Κανένα'

Δημιουργήστε ένα αρχείο Bash με την ακόλουθη δέσμη ενεργειών που εκτυπώνει το περιεχόμενο του αρχείου 'customers.csv' αφού τροποποιήσετε το κενό πεδίο με την τιμή 'Κανένα'. Δύο πεδία είναι κενά σε αυτό το αρχείο τα οποία αναφέρονται παρακάτω. Η εντολή 'awk' χρησιμοποιείται στο σενάριο για την εκτύπωση του περιεχομένου του αρχείου μετά την τροποποίηση των κενών πεδίων. Το κόμμα(,) εκχωρείται στις τιμές FS και OFS στο σενάριο για να διαβάσει το αρχείο 'customers.csv' και να γράψει το αρχείο 'updatedcustomers.csv'. Η εντολή 'cat' χρησιμοποιείται για την εκτύπωση του περιεχομένου και των δύο αρχείων σε μορφή πίνακα.

printf 'Αρχικό αρχείο: \n '

#Εκτυπώστε το αρχικό περιεχόμενο του αρχείου CSV σε μορφή πίνακα

Γάτα πελάτες.csv | στήλη -s,

οκ 'BEGIN{FS=',';OFS=','}

{

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

{

if($field == '') $field='Κανένα'

}

Τυπώνω

}'
πελάτες.csv > τροποποιημένοι πελάτες2.csv

printf ' \n Τροποποιημένο αρχείο: \n '

#Εκτυπώστε το νέο αρχείο CSV σε μορφή πίνακα

Γάτα τροποποιημένοι πελάτες2.csv | στήλη -s,

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου:

Παράδειγμα 4: Εκτυπώστε τον συνολικό αριθμό γραμμών και στηλών του αρχείου CSV

Δημιουργήστε ένα αρχείο Bash με την ακόλουθη δέσμη ενεργειών που μετράει τον συνολικό αριθμό γραμμών και στηλών στο αρχείο 'customers.csv'. Η μεταβλητή NR χρησιμοποιείται για την εκτύπωση του συνολικού αριθμού σειρών του αρχείου. Η μεταβλητή NF χρησιμοποιείται για την εκτύπωση του συνολικού αριθμού πεδίων του αρχείου.

printf 'Αρχικό αρχείο: \n '

#Εκτυπώστε το αρχικό περιεχόμενο του αρχείου CSV

Γάτα πελάτες.csv

ηχώ

ηχώ -n 'Σύνολο σειρών:'

οκ -ΦΑ, 'END{print NR}' πελάτες.csv

ηχώ -n 'Σύνολο στηλών:'

οκ -ΦΑ, 'END{print NF}' πελάτες.csv

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου. Οι συνολικές γραμμές στο αρχείο είναι 6 και τα συνολικά πεδία του αρχείου είναι 5 που εκτυπώνονται στην έξοδο:

συμπέρασμα

Οι μέθοδοι ανάγνωσης ενός αρχείου CSV, τροποποίησης του αρχείου CSV και μέτρησης των γραμμών και στηλών του αρχείου CSV χρησιμοποιώντας τη δέσμη ενεργειών Bash εμφανίζονται σε αυτό το σεμινάριο.