Lesen Sie die CSV-Datei in Bash

Die vollständige Form von CSV ist Comma Separated Value. Die CSV-Datei wird vom Programmierer für viele Zwecke verwendet, bei denen die Daten im Tabellenformat mit Halbstrukturen gespeichert werden. Jede Zeile der Datei wird als Zeile der Tabelle behandelt und jedes Feld der Zeile wird in der CSV-Datei durch ein Komma (,) getrennt. In Bash gibt es viele Möglichkeiten, die CSV-Dateien zu lesen, die in diesem Tutorial erklärt werden.

Voraussetzungen:

Sie müssen eine CSV-Datei erstellen, bevor Sie das Beispiel dieses Tutorials üben können. Erstellen Sie eine CSV-Datei mit dem Namen „customers.csv“ mit dem folgenden Inhalt, um die Ausgabe des Skripts zu überprüfen, das in diesem Tutorial verwendet wird. In dieser Datei sind die 3. Felder der 4. Zeile und 6. Zeile leer.

ID, Name, E-Mail, Adresse, Mobiltelefon

101, Jafar Iqbal, [email protected], 9/A Dhanmondi Dhaka, +8801762341425

102, Kamal Hossain, [email protected], 120 Mirpur Dhaka, +8801988675345

103, Nirob Chowdhury,,33/2 Jigatola Dhaka, +8801754532312

104, Farheen Hasan, [email protected], 10 Kadhalbagun Dhaka, +8801512875634

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

Verschiedene Möglichkeiten zum Lesen der CSV-Datei in Bash

Die CSV-Datei kann mithilfe eines Bash-Skripts auf verschiedene Arten analysiert werden. In diesem Teil des Tutorials werden verschiedene Möglichkeiten zum Lesen der Datei „customers.csv“ gezeigt.

Beispiel 1: Lesen Sie den Originalinhalt der CSV-Datei

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das den vollständigen Inhalt der Datei „customers.csv“ mithilfe der „while“-Schleife liest:

#!/bin/bash

#Legen Sie den Dateinamen fest

Dateiname=“Kunden.csv“

#Lesen Sie jede Zeile der Datei in jeder Iteration

während Daten gelesen werden

Tun

#Zeile drucken

echo $data

erledigt < $Dateiname

Nach der Ausführung des Skripts erscheint folgende Ausgabe:

Beispiel 2: Lesen Sie die CSV-Datei durch Großschreibung des Headers

Die erste Zeile der Datei „customers.csv“ enthält die Überschrift der Datei. Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das den Inhalt der Datei „customers.csv“ ausgibt, nachdem die erste Zeile der Datei großgeschrieben wurde. Der Befehl „awk“ wird im Skript verwendet, um den Inhalt der Datei nach der Großschreibung des Headers auszudrucken. Das Komma (,) wird in den FS- und OFS-Werten im Skript zugewiesen, um die Datei „customers.csv“ zu lesen und die Datei „updatedcustomers.csv“ zu schreiben. Mit dem Befehl „cat“ wird der Inhalt beider Dateien gedruckt.

printf „Originaldatei:\n“

#Drucken Sie den Originalinhalt der CSV-Datei

cat cstomers.csv

#Erstellen Sie eine neue CSV-Datei, nachdem Sie den Header groß geschrieben haben

awk ‚BEGIN{FS=“,“;OFS=“,“}

{

if(NR==1)

Druckoberteil ($0)

anders

drucken

}‘ kunden.csv > aktualisiertkunden.csv

printf „\nGeänderte Datei:\n“

#Drucken Sie die neue CSV-Datei

cat aktualisiertcustomers.csv

Nach der Ausführung des Skripts erscheint folgende Ausgabe:

Beispiel 3: Ersetzen Sie das leere Feld der CSV-Datei durch „Keine“

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das den Inhalt der Datei „customers.csv“ druckt, nachdem Sie das leere Feld mit dem Wert „None“ geändert haben. In dieser Datei sind zwei Felder leer, die im Folgenden erwähnt werden. Der Befehl „awk“ wird im Skript verwendet, um den Inhalt der Datei nach der Änderung der leeren Felder auszudrucken. Das Komma (,) wird in den FS- und OFS-Werten im Skript zugewiesen, um die Datei „customers.csv“ zu lesen und die Datei „updatedcustomers.csv“ zu schreiben. Mit dem Befehl „cat“ wird der Inhalt beider Dateien im Tabellenformat ausgegeben.

printf „Originaldatei:\n“

#Drucken Sie den Originalinhalt der CSV-Datei in tabellarischer Form

cat-Kunden.csv | Spalte -s, -t

awk ‚BEGIN{FS=“,“;OFS=“,“}

{

for(Feld=1;Feld<=NF;Feld++){if($field == „“) $field=“None“}drucken}‘ customer.csv > Modifiedcustomers2.csv

printf „\nGeänderte Datei:\n“

#Drucken Sie die neue CSV-Datei in tabellarischer Form

cat Modifiedcustomers2.csv | Spalte -s, -t

Nach der Ausführung des Skripts erscheint folgende Ausgabe:

Beispiel 4: Drucken Sie die Gesamtzahl der Zeilen und Spalten der CSV-Datei

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das die Gesamtzahl der Zeilen und Spalten in der Datei „customers.csv“ zählt. Die Variable NR wird verwendet, um die Gesamtzahl der Zeilen der Datei zu drucken. Die Variable NF wird verwendet, um die Gesamtzahl der Felder der Datei zu drucken.

printf „Originaldatei:\n“

#Drucken Sie den Originalinhalt der CSV-Datei

cat-Kunden.csv

Echo

echo -n „Zeilen gesamt:“

awk -F, ‚END{print NR}‘ customer.csv

echo -n „Spalten gesamt:“

awk -F, ‚END{print NF}‘ customer.csv

Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Gesamtzahl der Zeilen in der Datei beträgt 6 und die Gesamtzahl der Felder der Datei beträgt 5, die in der Ausgabe gedruckt werden:

Abschluss

In diesem Tutorial werden die Methoden zum Lesen einer CSV-Datei, zum Ändern der CSV-Datei und zum Zählen der Zeilen und Spalten der CSV-Datei mithilfe des Bash-Skripts gezeigt.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen