Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Если вы боролись со списками Python и задавались вопросом, как сохранить их в виде аккуратного CSV-файла, вы попали по адресу. Одной из наиболее распространенных задач в Python является запись списка в файл с разделителями-запятыми, и сегодня мы собираемся превратить вас в профессионала по созданию CSV-файлов!
Чтобы записать список в CSV в Python, вы можете использовать встроенный модуль csv, разработанный специально для чтения и записи файлов CSV. Класс модуля csv.writer предоставляет функции для записи простых и вложенных списков в файлы CSV.
Другие способы получения того же результата включают установку и использование внешних модулей Pandas или NumPy.
В этой статье объясняются концепции и пошаговые инструкции по процессу со всеми примерами кода, необходимыми для начала работы.
Пойдем!
Оглавление
Что такое списки в 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. Это особенно полезно из-за его простоты и эффективности.
Импортируя модуль csv , вы получаете доступ к классу csv.writer() , который позволяет вам создать объект записи, который может записывать строку с разделителями в объект файла.
Хорошо, теперь, когда мы рассмотрели основы, давайте посмотрим, как вы можете написать простой список в CSV с помощью Python в следующем разделе.
Как написать простой список в CSV на Python
Первый метод, который нужно изучить, — это простой (не вложенный) файл списка, который выглядит следующим образом:
футболки
толстовки
джинсы
Общие шаги для записи списка в файл CSV:
Импортируйте CSV- модуль.
Создайте список Python.
Откройте файл CSV в режиме записи.
Используйте функцию writerow() объекта записи csv .
Сохраните и закройте файл 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:
Общие шаги аналогичны предыдущему разделу, за исключением того, что вы используете функцию 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-файл, выполните следующие действия.
Импортируйте CSV- модуль.
Откройте файл CSV в режиме добавления ('a') с помощью диспетчера контекста with open() .
Создайте новый список, содержащий данные для добавления.
Создайте объект csv.writer() , передав открытый файл.
Используйте объект 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-файл.
Класс 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
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!
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.