Распаковка набора в формате строки в Python возвращает только первое значение - PullRequest
0 голосов
/ 21 июня 2019

Я преобразовал столбец DataFrame в набор, и я пытаюсь отформатировать значения в строку, используя *, чтобы распаковать его как список.Однако он возвращает только первое значение.

Я использую python-docx для автоматического создания отчетов на основе данных.

Этот код выбирает столбец DataFrame, удаляет пустые значения ипревращает его в набор.Идея состоит в том, чтобы устранить дубликаты.На следующем шаге используется функция форматирования для ввода набора в строку или отчет:

set_unique_statgroup = set(self.internal_df.StatGroup.dropna())

self.document.add_paragraph("{} categories have been found, and they are: {}".format(len(set_unique_statgroup), *set_unique_statgroup)

Код возвращает следующее предложение:

"Найдено 12 категорий, и они: Температура "

Я надеялся, что он отобразит все элементы в наборе:

" Было найдено 12 категорий, а именно: Температура, Настроение, Время дня (...) "

1 Ответ

0 голосов
/ 21 июня 2019

Я нашел обходной путь, возможно, не самый питонический:

Используйте цикл и функцию add_run для добавления к абзацу для каждого элемента в наборе:

for item in set_unique_statgroup:
    p.add_run("{}".format(item))

p.add_run(".")

Еслиу кого-нибудь есть более компактный / питонный способ сделать это, пожалуйста, не стесняйтесь писать.

...