Робота з файлами CSV (Comma-Separated Values) - поширене завдання в програмуванні, яке можна побачити в багатьох практичних додатках. Незалежно від того, чи ви отримуєте дані з API, чи керуєте рівнями запасів, вміння читати та записувати CSV-файли є дуже важливим. У цьому посібнику ви дізнаєтеся, як ефективно обробляти CSV-файли за допомогою Python. Ми розглянемо створення CSV-файлів, читання даних та маніпулювання цими даними.
Основні висновки
- Огляд модуля: Python пропонує інтегрований модуль CSV, який забезпечує читання і запис CSV.
- Структура даних: Ви можете використовувати списки та словники для зберігання та обробки даних.
- Ефективна обробка вводу/виводу: використовуйте open(...) для обробки доступу до файлів, щоб не турбуватися про закриття файлів.
Покрокові інструкції
Створіть каталог і створіть CSV-файл
Для початку створіть порожній каталог. У цьому каталозі ви повинні створити файл з назвою csvdateien.py. Цей файл буде вашим основним скриптом для роботи з CSV-файлами.

Усередині вашого Python-файлу ви можете створити CSV-файл, використовуючи ім'я products.csv. У цьому файлі ви визначите стовпці з заголовками Product ID, Name, Price і Stock.

Файл CSV може виглядати, наприклад, так
Product ID, Name, Price, Stock 1,iPad,399,50 2,Nerfgun,29.99,100
Читання файлу CSV
Щоб прочитати дані з файлу products.csv, вам потрібен модуль CSV. Модуль дозволяє ефективно обробляти дані у форматі CSV. Ви можете перетворити дані в читабельний формат за допомогою функції open(...). Це дозволяє уникнути ручного закриття файлових об'єктів і робить ваш код чистішим і безпечнішим.
Наступним кроком буде створення програми для читання CSV. Це дозволить вам переглядати файл рядок за рядком і витягувати дані:
with open('product.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Тут кожен рядок зчитується як список, що свідчить про те, що дані структуровані, як і очікувалося. Кожен рядок відповідає товару і містить інформацію про ідентифікатор, назву, ціну та наявність на складі.
Використання словників для більш інтуїтивної обробки даних
Щоб зробити обробку даних простішою та інтуїтивно зрозумілішою, варто використовувати формат словника. За допомогою програми для читання словників ви можете полегшити доступ до даних за допомогою назв полів.

Тут вам також потрібно за допомогою open(...) відкрити файл і створити зчитувач CSV. Переконайтеся, що ви вказали список полів, які хочете прочитати:

Тепер ви можете просто отримати доступ до полів за їхніми назвами. Це робить вашу обробку набагато доступнішою.
Створення CSV-файлу
Щоб записати власні дані до CSV-файлу, ви можете скористатися об'єктом Dictionary Writer. Ви можете створити список словників, які представляють ваші дані.

Ось простий приклад того, як ви можете зберегти список супергероїв у CSV-файл:
with open('superheroes.csv', 'w', newline='') as csvfile: fieldnames = ['Ім'я', 'Псевдонім'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

Файл superhelden.csv створено, і він містить дані про супергероїв у добре структурованому, зручному для читання форматі.
Висновок і практичне застосування
Файли CSV є цінним інструментом для обміну даними, який часто потрібен на практиці. У цьому посібнику ви ознайомилися з основами обробки CSV-файлів за допомогою Python. Ви навчилися читати дані з CSV-файлів, обробляти їх у Python і записувати власні дані у формат CSV.
Резюме - Обробка CSV файлів за допомогою Python
Файли CSV є важливим форматом для обміну даними у багатьох додатках. Python дозволяє ефективно і легко працювати з цими файлами. Зрозумівши основи, ви зможете легко застосовувати ці методи до складних додатків для роботи з даними.
Поширені запитання
Як відкрити CSV-файл у Python? Ви можете відкрити CSV-файл у Python за допомогою open('filename.csv', 'r'):.
Як записати дані уCSV-файл? Для форматування даних та їх запису у файл використовується об'єкт csv.writer або csv.DictWriter.
У чому різниця між csv.reader і csv.DictReader? csv.reader читає дані у вигляді списків, тоді як csv.DictReader виводить дані у вигляді словників з іменами полів як ключами.
Як вказати заголовок уCSV-файлі? Заголовок можна вказати за допомогою функції writeheader() під час запису CSV-файлу за допомогою Writer.
Як прочитати CSV-файл з власними назвами полів?Передайте список потрібних назв полів при створенні csv.DictReader.