Визначення: CSV (значення, розділене комами) подібне до текстового файлу, де дані, що зберігаються, відокремлюються деяким роздільником (зазвичай комою). Кожне поле відокремлено розділювачем. У Python файли CSV обробляються за допомогою модуля CSV. Отже, ми повинні імпортувати цей модуль.
Напр: імпорт csv
У наведеному нижче прикладі показано спосіб збереження даних у файлі CSV. Тут кома використовується як роздільник.
Ім'я файлу: person_info.csv
ім’я, по батькові, прізвище, вік
Ананд, кумар, математика, 31 рік
Сачин, рамеш, тендулакар, 40 років
Вірендра, Сехваг, Сінгх, 38
Рахул, Дравід, XYZ, 40 років
Файл CSV можна відкрити в будь-якому з наступних режимів:
r -> режим читання
w -> режим запису
a -> режим додавання
У Python файлова операція виконується в наступному порядку:
- Відкрити файл;
- Прочитайте, напишіть або додайте. Коли ми вкажемо режим запису, файл буде відкрито в режимі запису, якщо файл існує, інакше він збирається створити файл. Це також стосується режиму додавання. У режимі читання, якщо файл існує, він відкриє файл у режимі читання, інакше видає виняток FileNotFoundError; і
- Закрийте файл.
Відкрийте файл CSV
Використовується вбудований метод open ().
Приклад:
- f = відкрити (“ім'я файлу.csv ”,” r ”) # У CSV python типовим є режим читання
- f = відкрити (“ім'я файлу.csv ”, 'w') # режим запису
Закриття файлу
Використовується вбудований метод close ().
fp = open ("ім'я файлу.csv ", 'w')# виконувати деякі файлові операції
fp.закрити ()
Файлові операції за допомогою
Найкращий спосіб виконати операцію з файлом CSV і найбільш часто використовуваний метод - це оператор. Використовуючи це, гарантується, що файл буде закритий при виході з блоку всередині з.
Приклад:
з відкритим ('ім'ям файлу.csv ',' w ', encoding =' utf-8 ') як fp:# виконувати деякі файлові операції
# Statements поза блоком with
Коли ми виходимо з блоком, файл буде автоматично закритий.
Запишіть у файл CSV
Щоб записати у файл CSV, нам потрібно відкрити його в режимі запису «w» або додати «a».
У наведеному нижче прикладі ми збираємося читати з одного файлу та писати в новий файл.
імпорт csvз відкритим ('ім'ям файлу.csv ',' r ') як fp:
зчитувач = csv.зчитувач (fp) # читати файл
з відкритим ('newfilename.csv ',' w ') як fq:
письменник = csv.запис (fq, роздільник = '-')
для рядка в зчитувачі: # Для ітерації кожного рядка
письменник.writerow (рядок) #write рядок у новий файл
Використання словника
У наведеному нижче прикладі ми збираємося читати з одного файлу та записувати в новий файл за допомогою методу DictWriter ().
імпорт csvз відкритим ('ім'ям файлу.csv ',' r ') як fp:
зчитувач = csv.DictReader (fp) # прочитаний файл
з відкритим ('newfilename.csv ',' w ', newline = ") як fq: #newline =", щоб уникнути додавання зайвого нового рядка
row_names = ['ім'я', 'по батькові', 'прізвище', 'вік']
письменник = csv.DictWriter (fq, імена полів = імена рядків, роздільник = '-')
письменник.writeheader () # запис рядків заголовка
для рядка в зчитувачі:
письменник.writerow (рядок)
Списання ()
Цей метод записує кілька рядків одночасно; нам потрібно передати список списків. Приклад:
імпорт csvhead_names = ['ім'я', 'по батькові', 'прізвище', 'вік']
# рядки даних файлу csv
рядки = [['Ананд', 'кумар', 'математика', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# запис у файл CSV
з відкритим ('newfilename.csv ',' w ') як fp:
# створення об'єкта для запису csv
csvwriter = csv.письменник (fp)
# напишіть заголовок
csvwriter.writerow (head_names)
# запишіть рядки даних
csvwriter.записи (рядки)
Читання з файлу
Щоб прочитати файл CSV на Python, ми повинні відкрити файл у режимі читання 'r'. Приклад:
імпорт csvз відкритим ('ім'ям файлу.csv ',' r ') як fp:
дані = csv.зчитувач (fp)
#default роздільник - це кома, якщо потрібно вказати csv, розділений іншим роздільником
# Дані даних = csv.зчитувач (fp, роздільник = '-')
print (data) # це повертає об'єкт
# пропускаючи заголовок
next (дані) #call наступний метод генератора
для рядка в даних: # Для ітерації по кожному рядку
print (рядок) # вивести кожне значення у списку
fp.шукати (0) # підвести курсор до першого рядка
для рядка в даних:
print (рядок [0]) # надрукувати лише імена
Використання програми читання словників
Читання csv-файлу методом DictReader ().
імпорт csvз відкритим ('ім'ям файлу.csv ',' r ') як fp:
зчитувач = csv.DictReader (fp) # прочитаний файл
для рядка в зчитувачі:
print (рядок) # надрукувати кожен рядок у формі словника
fp.шукати (0) # підвести курсор до першого рядка
для даних у зчитувачі:
print (data ['age']) # ми можемо друкувати лише вік за допомогою клавіші 'age'
Висновок
Ми навчилися читати та писати файли за допомогою модуля CSV. Файл CSV є найбільш часто використовуваним форматом файлу в галузі автоматизації, оскільки його легко читати та змінювати дані. Крім того, Pandas - ще один метод, який ми можемо використовувати для обробки файлів CSV.