CSV கோப்பை பாஷில் படிக்கவும்

Csv Koppai Pasil Patikkavum



CSV இன் முழு வடிவம் காற்புள்ளியால் பிரிக்கப்பட்ட மதிப்பு. CSV கோப்பு குறியீட்டாளரால் பல நோக்கங்களுக்காகப் பயன்படுத்தப்படுகிறது, இது தரவுகளை அரை கட்டமைப்புகள் அட்டவணை வடிவத்தில் சேமிக்கிறது. கோப்பின் ஒவ்வொரு வரியும் அட்டவணையின் வரிசையாகக் கருதப்படுகிறது மற்றும் வரிசையின் ஒவ்வொரு புலமும் CSV கோப்பில் கமாவால் (,) பிரிக்கப்படும். இந்த டுடோரியலில் விளக்கப்பட்டுள்ள CSV கோப்புகளைப் படிக்க பாஷில் பல வழிகள் உள்ளன.

முன்நிபந்தனைகள்:

இந்த டுடோரியலின் உதாரணத்தைப் பயிற்சி செய்வதற்கு முன் நீங்கள் ஒரு CSV கோப்பை உருவாக்க வேண்டும். இந்த டுடோரியலில் பயன்படுத்தப்படும் ஸ்கிரிப்ட்டின் வெளியீட்டைச் சரிபார்க்க, பின்வரும் உள்ளடக்கத்துடன் “customers.csv” என்ற CSV கோப்பை உருவாக்கவும். இந்த கோப்பில், 3 rd 4 இன் துறைகள் வது வரி மற்றும் 6 வது வரி காலியாக உள்ளது.

ஐடி, பெயர், மின்னஞ்சல், முகவரி, மொபைல்

101 , ஜாபர் இக்பால், ஜாபர் @ gmail.com, 9 / ஒரு தன்மோண்டி டாக்கா, + 8801762341425

102 , கமல் ஹொசைன், கமல் @ gmail.com, 120 மிர்பூர் டாக்கா, 8801988675345

103 நிரோப் சவுத்ரி 33 / 2 ஜிகடோலா டாக்கா, 8801754532312

104 ஃபர்ஹீன் ஹசன் @ gmail.com < href = 'வெற்று' > , > 10 காதல்பாகுன் டாக்கா, + 8801512875634

105 , எம்.டி. ரஹீம், 2 / பி தன்மோண்டி டாக்கா, + 8801700453423

பாஷில் CSV கோப்பைப் படிக்க வெவ்வேறு வழிகள்

CSV கோப்பை பாஷ் ஸ்கிரிப்டைப் பயன்படுத்தி வெவ்வேறு வழிகளில் அலசலாம். “customers.csv” கோப்பைப் படிப்பதற்கான வெவ்வேறு வழிகள் டுடோரியலின் இந்தப் பகுதியில் காட்டப்பட்டுள்ளன.







எடுத்துக்காட்டு 1: CSV கோப்பின் அசல் உள்ளடக்கத்தைப் படிக்கவும்

'while' லூப்பைப் பயன்படுத்தி 'customers.csv' கோப்பின் முழு உள்ளடக்கத்தையும் படிக்கும் பின்வரும் ஸ்கிரிப்ட் மூலம் ஒரு Bash கோப்பை உருவாக்கவும்:



#!/பின்/பாஷ்

#கோப்பின் பெயரை அமைக்கவும்

கோப்பு பெயர் = 'customers.csv'

#ஒவ்வொரு மறு செய்கையிலும் கோப்பின் ஒவ்வொரு வரியையும் படிக்கவும்

போது படி தகவல்கள்

செய்

#வரியை அச்சிடுங்கள்

எதிரொலி $தரவு

முடிந்தது < $ கோப்பு பெயர்

ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்:







எடுத்துக்காட்டு 2: தலைப்பை பெரியதாக்கி CSV கோப்பைப் படிக்கவும்

“customers.csv” கோப்பின் முதல் வரியில் கோப்பின் தலைப்பு உள்ளது. 'customers.csv' கோப்பின் உள்ளடக்கத்தை அச்சிடும் பின்வரும் ஸ்கிரிப்ட் மூலம் ஒரு Bash கோப்பை உருவாக்கவும். தலைப்பைப் பெரியதாக்கிய பிறகு கோப்பின் உள்ளடக்கத்தை அச்சிட ஸ்கிரிப்ட்டில் “awk” கட்டளை பயன்படுத்தப்படுகிறது. 'customers.csv' கோப்பைப் படிக்கவும் 'updatedcustomers.csv' கோப்பை எழுதவும் ஸ்கிரிப்ட்டில் உள்ள FS மற்றும் OFS மதிப்புகளில் கமா(,) ஒதுக்கப்பட்டுள்ளது. இரண்டு கோப்புகளின் உள்ளடக்கத்தையும் அச்சிட 'cat' கட்டளை பயன்படுத்தப்படுகிறது.

printf 'அசல் கோப்பு: \n '

#CSV கோப்பின் அசல் உள்ளடக்கத்தை அச்சிடவும்

பூனை cstomers.csv

#தலைப்பை பெரியதாக்கிய பிறகு புதிய CSV கோப்பை உருவாக்கவும்

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

{

என்றால் (NR==1)

அச்சு டாப்பர் ($0)

வேறு

அச்சு

}'
வாடிக்கையாளர்கள்.csv > updatedcustomers.csv

printf ' \n மாற்றியமைக்கப்பட்ட கோப்பு: \n '

#புதிய CSV கோப்பை அச்சிடவும்

பூனை updatedcustomers.csv

ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்:



எடுத்துக்காட்டு 3: CSV கோப்பின் வெற்றுப் புலத்தை 'இல்லை' என்று மாற்றவும்

'கஸ்டமர்ஸ்.சிஎஸ்வி' கோப்பின் உள்ளடக்கத்தை 'ஒன்றுமில்லை' மதிப்புடன் மாற்றிய பின், பின்வரும் ஸ்கிரிப்ட் மூலம் ஒரு பாஷ் கோப்பை உருவாக்கவும். இந்தக் கோப்பில் இரண்டு புலங்கள் காலியாக உள்ளன, அவை கீழே குறிப்பிடப்பட்டுள்ளன. வெற்று புலங்களை மாற்றிய பின் கோப்பின் உள்ளடக்கத்தை அச்சிட ஸ்கிரிப்ட்டில் “awk” கட்டளை பயன்படுத்தப்படுகிறது. 'customers.csv' கோப்பைப் படிக்கவும் 'updatedcustomers.csv' கோப்பை எழுதவும் ஸ்கிரிப்ட்டில் உள்ள FS மற்றும் OFS மதிப்புகளில் கமா(,) ஒதுக்கப்பட்டுள்ளது. இரண்டு கோப்புகளின் உள்ளடக்கத்தையும் அட்டவணை வடிவத்தில் அச்சிட 'cat' கட்டளை பயன்படுத்தப்படுகிறது.

printf 'அசல் கோப்பு: \n '

#CSV கோப்பின் அசல் உள்ளடக்கத்தை அட்டவணை வடிவத்தில் அச்சிடவும்

பூனை வாடிக்கையாளர்கள்.csv | நெடுவரிசை -கள், -டி

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

{

க்கான(புலம்=1;புலம்<=NF;field++)

{

if($field == '') $field='இல்லை'

}

அச்சு

}'
வாடிக்கையாளர்கள்.csv > modifiedcustomers2.csv

printf ' \n மாற்றியமைக்கப்பட்ட கோப்பு: \n '

#புதிய CSV கோப்பை அட்டவணை வடிவத்தில் அச்சிடவும்

பூனை modifiedcustomers2.csv | நெடுவரிசை -கள், -டி

ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்:

எடுத்துக்காட்டு 4: CSV கோப்பின் வரிசைகள் மற்றும் நெடுவரிசைகளின் மொத்த எண்ணிக்கையை அச்சிடவும்

'customers.csv' கோப்பில் உள்ள வரிசைகள் மற்றும் நெடுவரிசைகளின் மொத்த எண்ணிக்கையைக் கணக்கிடும் பின்வரும் ஸ்கிரிப்ட் மூலம் ஒரு Bash கோப்பை உருவாக்கவும். கோப்பின் மொத்த வரிசைகளின் எண்ணிக்கையை அச்சிட NR மாறி பயன்படுத்தப்படுகிறது. கோப்பின் மொத்த புலங்களின் எண்ணிக்கையை அச்சிட NF மாறி பயன்படுத்தப்படுகிறது.

printf 'அசல் கோப்பு: \n '

#CSV கோப்பின் அசல் உள்ளடக்கத்தை அச்சிடவும்

பூனை வாடிக்கையாளர்கள்.csv

எதிரொலி

எதிரொலி -என் 'மொத்த வரிசைகள்:'

awk -எஃப், 'END{print NR}' வாடிக்கையாளர்கள்.csv

எதிரொலி -என் 'மொத்த நெடுவரிசைகள்:'

awk -எஃப், 'END{print NF}' வாடிக்கையாளர்கள்.csv

ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். கோப்பில் உள்ள மொத்த வரிகள் 6 மற்றும் கோப்பின் மொத்த புலங்கள் 5 ஆகும், அவை வெளியீட்டில் அச்சிடப்படுகின்றன:

முடிவுரை

CSV கோப்பைப் படிப்பது, CSV கோப்பை மாற்றுவது மற்றும் பாஷ் ஸ்கிரிப்டைப் பயன்படுத்தி CSV கோப்பின் வரிசைகள் மற்றும் நெடுவரிசைகளை எண்ணுவது போன்ற முறைகள் இந்த டுடோரியலில் காட்டப்பட்டுள்ளன.