CSV ಫೈಲ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್
CSV (Comma-Separated Values) ಫೈಲ್ಗಳು ಟೇಬಲ್ ರೂಪದ ಡೇಟಾವನ್ನು (structured data) ಸಂಗ್ರಹಿಸಲು ಬಳಸುವ ಒಂದು ಸಾಮಾನ್ಯ ಟೆಕ್ಸ್ಟ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ ಆಗಿದೆ. ಪ್ರತಿ ಸಾಲು ಒಂದು ರೆಕಾರ್ಡ್ ಅನ್ನು ಮತ್ತು ಪ್ರತಿ ಕಾಲಮ್ ಅನ್ನು ಅಲ್ಪವಿರಾಮದಿಂದ (comma) ಬೇರ್ಪಡಿಸಲಾಗುತ್ತದೆ.
ಪೈಥಾನ್ನ ಅಂತರ್ನಿರ್ಮಿತ csv ಮೊಡ್ಯೂಲ್, CSV ಫೈಲ್ಗಳನ್ನು ಓದಲು ಮತ್ತು ಬರೆಯಲು ಸುಲಭ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ.
CSV ಫೈಲ್ಗೆ ಬರೆಯುವುದು (Writing to a CSV File)
csv.writer ಆಬ್ಜೆಕ್ಟ್ ಬಳಸಿ ನಾವು ಡೇಟಾದ ಲಿಸ್ಟ್ಗಳನ್ನು CSV ಫೈಲ್ಗೆ ಬರೆಯಬಹುದು.
ಉದಾಹರಣೆ:
ವಿದ್ಯಾರ್ಥಿಗಳ ವಿವರಗಳನ್ನು students.csv ಎಂಬ ಫೈಲ್ಗೆ ಬರೆಯೋಣ.
import csv
# ಡೇಟಾ (ಸಾಲುಗಳ ಲಿಸ್ಟ್)
student_data = [
['ಹೆಸರು', 'ವಯಸ್ಸು', 'ನಗರ'],
['ರವಿಕಿರಣ', 25, 'ಹಾಸನ'],
['ನಿಶ್ಕಲಾ', 28, 'ಚನ್ನರಾಯಪಟ್ಟಣ'],
['ಗೋವರ್ಧನ್', 30, 'ಬೆಂಗಳೂರು']
]
# newline='' ಅನ್ನು ಬಳಸುವುದು ವಿಂಡೋಸ್ನಲ್ಲಿ ಖಾಲಿ ಸಾಲುಗಳು ಸೇರುವುದನ್ನು ತಪ್ಪಿಸುತ್ತದೆ
with open('students.csv', 'w', newline='', encoding='utf-8') as csvfile:
# writer ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುವುದು
writer = csv.writer(csvfile)
# ಎಲ್ಲಾ ಸಾಲುಗಳನ್ನು ಒಂದೇ ಬಾರಿಗೆ ಬರೆಯುವುದು
writer.writerows(student_data)
print("'students.csv' ಫೈಲ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ.")
CSV ಫೈಲ್ನಿಂದ ಓದುವುದು (Reading from a CSV File)
csv.reader ಆಬ್ಜೆಕ್ಟ್ ಬಳಸಿ, ನಾವು CSV ಫೈಲ್ನ ಪ್ರತಿ ಸಾಲನ್ನು ಒಂದು ಲಿಸ್ಟ್ ಆಗಿ ಓದಬಹುದು.
import csv
with open('students.csv', 'r', encoding='utf-8') as csvfile:
# reader ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುವುದು
reader = csv.reader(csvfile)
# ಹೆಡರ್ ಸಾಲನ್ನು ಸ್ಕಿಪ್ ಮಾಡಲು (ಐಚ್ಛಿಕ)
header = next(reader)
print(f"ಹೆಡರ್ಗಳು: {header}")
# ಪ್ರತಿ ಸಾಲನ್ನು ಇಟರೇಟ್ ಮಾಡುವುದು
for row in reader:
print(f"ಹೆಸರು: {row[0]}, ವಯಸ್ಸು: {row[1]}, ನಗರ: {row[2]}")
ಡಿಕ್ಷನರಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು (DictReader ಮತ್ತು DictWriter)
ಪ್ರತಿ ಸಾಲನ್ನು ಲಿಸ್ಟ್ ಬದಲು ಡಿಕ್ಷನರಿಯಾಗಿ ಓದುವುದು ಅಥವಾ ಬರೆಯುವುದು ಹೆಚ್ಚು ಓದಬಲ್ಲದು.
DictWriter
ಡಿಕ್ಷನರಿಗಳ ಲಿಸ್ಟ್ ಅನ್ನು CSV ಫೈಲ್ಗೆ ಬರೆಯುತ್ತದೆ.
import csv
student_dicts = [
{'ಹೆಸರು': 'ಮಹಾಲಕ್ಷ್ಮಿ', 'ವಯಸ್ಸು': 45, 'ನಗರ': 'ಕಿಕ್ಕೇರಿ'},
{'ಹೆಸರು': 'ಪಾರ್ವತಮ್ಮ', 'ವಯಸ್ಸು': 55, 'ನಗರ': 'ನೆಟ್ಟೇಕೆರೆ'}
]
fieldnames = ['ಹೆಸರು', 'ವಯಸ್ಸು', 'ನಗರ']
with open('students_dict.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader() # ಹೆಡರ್ ಸಾಲನ್ನು ಬರೆಯುತ್ತದೆ
writer.writerows(student_dicts)
DictReader
CSV ಫೈಲ್ನ ಪ್ರತಿ ಸಾಲನ್ನು ಡಿಕ್ಷನರಿಯಾಗಿ ಓದುತ್ತದೆ (ಹೆಡರ್ ಅನ್ನು ಕೀಗಳಾಗಿ ಬಳಸಿ).
import csv
with open('students_dict.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row_dict in reader:
print(row_dict['ಹೆಸರು'], row_dict['ವಯಸ್ಸು'])
csv ಮೊಡ್ಯೂಲ್, ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾಬೇಸ್ಗಳೊಂದಿಗೆ ಡೇಟಾವನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಲು ಅತ್ಯಂತ ಉಪಯುಕ್ತವಾಗಿದೆ.