Как написать список в 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 Python list
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 из списка, а затем использовать метод 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 , которая обеспечивает поддержку работы с массивами и матрицами.

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 — это простой и эффективный способ хранения данных и обмена ими. Вы узнали, как использовать встроенный в Python модуль csv для выполнения этой задачи.

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

Вы также узнали о более сложных сценариях записи списка списков в CSV-файл, который позволяет хранить табличные данные.

Не забывайте, что, как и все в программировании, практика делает совершенным. Итак, возьмите эти новые знания, поэкспериментируйте с ними и посмотрите, как они работают с различными наборами данных и потребностями проекта.

Это только верхушка айсберга Python. В огромном мире Python есть еще много интересного, так что не останавливайтесь на достигнутом. Но сегодня похлопайте себя по спине. Вы успешно приручили зверя преобразования списка в CSV!

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.