Як написати список у CSV на Python

Якщо ви мучилися зі списками Python і думали, як зберегти їх як акуратний файл CSV, ви в потрібному місці. Одне з найпоширеніших завдань у Python — написати список у файлі, розділеному комами, і сьогодні ми перетворимо вас на професіонала створення файлів CSV!

Щоб записати список у CSV у Python, ви можете використати вбудований модуль під назвою csv, розроблений спеціально для читання та запису файлів CSV. Клас csv.writer модуля надає функції для запису простих і вкладених списків у файли CSV.

Інші методи отримання того самого результату включають встановлення та використання зовнішніх модулів Pandas або NumPy.

Ця стаття пояснює поняття та крок за кроком проведе вас через процес із усіма прикладами коду, які вам знадобляться, щоб почати.

Ходімо!

Зміст

Що таке списки в Python?

Як написати список у CSV на Python

Список у Python — це вбудована структура даних, яка використовується для зберігання кількох елементів в одній змінній.

Списки Python:

  • впорядкований (починаючи з нуля).

  • змінювані (можна змінювати).

  • можливість зберігати повторювані значення.

Списки визначаються значеннями в квадратних дужках [], а елементи розділяються комами. Елементи в списку можуть мати будь-який тип даних, наприклад числа, рядки та навіть інші списки.

Ось приклад створення простого списку:

products = [“t-shirts”, “hoodies”, “jeans”]

Списки списків у Python

Списки списків також відомі як вкладені списки . Це списки, які містять інші списки як свої елементи.

Вони часто використовуються в Python для представлення структурованих даних у рядках і стовпцях. Вони зазвичай використовуються в сценаріях, коли потрібно згрупувати пов’язані дані.

Ось приклад створення вкладеного списку, який представляє продукти, ціни та продажі.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

Файли CSV і модуль CSV у Python

Файли CSV представляють табличні дані в простому форматі. Кожен рядок у файлі відповідає рядку в таблиці. Кожне значення в рядку (або рядку) відокремлюється комою — тому формат називається «Значення, розділені комами».

Ось як може виглядати файл із представленням продуктів, цін і розпродажів у форматі CSV:

  • футболки, 9,99, 342

  • толстовки, 24,99, 118

  • джинси, 29,99, 612

Як написати список у CSV на Python

Модуль csv — це вбудований модуль Python, який надає інструменти для читання та запису даних у форматі CSV. Це особливо корисно завдяки своїй простоті та ефективності.

Імпортувавши модуль csv , ви отримуєте доступ до класу csv.writer() , який дозволяє створювати об’єкт запису, який може записувати рядок із роздільниками у файловий об’єкт.

Гаразд, тепер, коли ми розглянули основи, давайте подивимося, як можна написати простий список у CSV за допомогою Python у наступному розділі.

Як написати простий список у CSV на Python

Перший метод, який потрібно вивчити, це простий (не вкладений) файл списку, який виглядає так:

  • футболки

  • толстовки

  • джинси

Як написати список у CSV на Python

Загальні кроки для запису списку у файл CSV:

  1. Імпортуйте модуль csv .

  2. Створіть список Python.

  3. Відкрийте файл CSV у режимі запису.

  4. Використовуйте функцію writerow() об’єкта запису csv .

  5. Збережіть і закрийте файл CSV.

Функція writerow () запише кілька рядків, тобто всі дані у файл. Ось код із детальними коментарями.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a 
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

Використання менеджерів контексту

Якщо ви не знайомі з методом «за допомогою» роботи з файлами, це техніка, яка використовує контекстний менеджер, який керує файловими ресурсами.

Наприклад, якщо ви використовуєте його для запису файлів CSV, файли автоматично закриваються, коли оператор with закінчується.

Як записати список списків у CSV

У списку списків кожен внутрішній список має бути рядком CSV у файлі. Ось як виглядатимуть дані CSV:

Як написати список у CSV на Python

Загальні кроки подібні до попереднього розділу, за винятком того, що ви використовуєте функцію writerows() замість writerow() .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

У цьому другому прикладі кожен внутрішній список записується як окремий рядок у файлі.

Зауважте, що модуль csv дає вам змогу уникнути необхідності або через структуру даних і записувати її рядок за рядком.

Далі ми розглянемо, як можна додати дані до наявних файлів CSV.

Як додати дані до існуючих файлів CSV

Як написати список у CSV на Python

Щоб додати дані до наявного файлу CSV, виконайте такі дії:

  1. Імпортуйте модуль csv .

  2. Відкрийте файл CSV у режимі додавання («a») за допомогою контекстного менеджера with open() .

  3. Створіть новий список із даними, які потрібно додати.

  4. Створіть об’єкт csv.writer() , передавши відкритий файл.

  5. Використовуйте об’єкт csv.writer() , щоб записати новий список у файл CSV.

Ось приклад запису, який додає вкладений список (один рядок) до наявного файлу:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

Обов’язково додайте новий рядок=” під час відкриття файлу, щоб забезпечити належне форматування файлу CSV на різних платформах.

У наступному розділі ми розглянемо, як можна використовувати клас DictWriter для запису у файли CSV.

Як використовувати DictWriter для запису у файли CSV

Як написати список у CSV на Python

Наразі ми навчилися писати списки у файли CSV. Однак Python має інші структури даних, які також можна записати у файл CSV.

Клас DictWriter () також є частиною модуля csv . Він схожий на клас writer() , але обробляє дані словника.

Ось приклад:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Розширені методи CSV у Python

Використання модуля csv — не єдиний спосіб експортувати списки Python як файли CSV.

Дві популярні бібліотеки, які надають функціональність для цього завдання, це Pandas і NumPy .

1. Як експортувати дані за допомогою Pandas

Як написати список у CSV на Python

Pandas — широко використовувана бібліотека Python для обробки та аналізу даних.

Щоб зберегти списки Python як файл CSV, ви можете створити pandas DataFrame зі списку, а потім використати метод to_csv() , як показано нижче:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

Якщо ваші дані містять символи, відмінні від ASCII, вам може знадобитися встановити відповідне значення для параметра кодування, наприклад "utf-8".

2. Як використовувати NumPy для збереження списків у CSV

Варто розглянути ще одну бібліотеку, яка забезпечує підтримку роботи з масивами та матрицями.

NumPy пропонує функцію np.savetxt() як зручний спосіб збереження даних у файл CSV.

Ось приклад, який демонструє, як зберегти список у файл CSV за допомогою NumPy:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

Ось розбивка параметрів savetxt() :

  • роздільник: визначає роздільник полів

  • Параметр fmt: вказує формат даних, які зберігаються

  • %s: заповнювач для рядкових значень

  • header : список заголовків стовпців

  • коментарі: керуйте символами, які починають коментарі у вихідному файлі.

Як очистити дані перед записом у файл

Рекомендується очистити дані перед записом у текстові файли. У цьому відео ви дізнаєтеся про необхідні техніки:

Заключні думки

Запис списку у файл CSV у Python є простим і ефективним способом зберігання та обміну даними. Ви навчилися використовувати вбудований модуль csv Python для виконання цього завдання.

Тепер ви знайомі зі створенням списку Python, імпортуванням модуля csv , відкриттям файлу CSV і використанням csv.writer для запису списку у файл CSV.

Ви також дізналися про складніші сценарії запису списку списків у файл CSV, який дозволяє зберігати табличні дані.

Не забувайте, що, як і все в програмуванні, практика робить досконалим. Отже, візьміть ці нові знання, пограйте з ними та подивіться, як це працює з різними наборами даних і потребами проекту.

Це лише верхівка айсберга Python. У величезному світі Python є ще багато цікавого, тож не зупиняйтеся на цьому. Але сьогодні поплескайте себе по плечу. Ви успішно приборкали звіра перетворення списків у CSV!


Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!

Підсумки в LuckyTemplates за допомогою DAX

Підсумки в LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.

Змінні LuckyTemplates Dax постійні: що це означає?

Змінні LuckyTemplates Dax постійні: що це означає?

Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.

Діаграма нахилу LuckyTemplates: огляд

Діаграма нахилу LuckyTemplates: огляд

Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.

Колірні теми LuckyTemplates для однорідної візуалізації

Колірні теми LuckyTemplates для однорідної візуалізації

Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.

Візуальна карта LuckyTemplates: як створити та додати спеціальну легенду в LuckyTemplates

Візуальна карта LuckyTemplates: як створити та додати спеціальну легенду в LuckyTemplates

У цьому підручнику ви дізнаєтесь, як створити спеціальну легенду у візуальній карті LuckyTemplates для відображення бажаних кольорів і сегментації.

Фонове зображення LuckyTemplates для звітів із використанням PPT

Фонове зображення LuckyTemplates для звітів із використанням PPT

Дізнайтеся, як налаштувати фонове зображення LuckyTemplates за допомогою PowerPoint. Це одна з моїх технік створення звітів LuckyTemplates.

Модель та аналіз рішень щодо закупівель у LuckyTemplates

Модель та аналіз рішень щодо закупівель у LuckyTemplates

У цьому підручнику ми збираємося зануритися в аналіз закупівель в організації, використовуючи функцію взаємодії та потужність моделі даних.