Отображение списка из Python в виде стиля потока внутри файла yaml в стиле блока (ruamel.yaml).Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отображение списка из Python в виде стиля потока внутри файла yaml в стиле блока (ruamel.yaml).

Сообщение Anonymous »

Я использую ruamel.yaml для создания файла YAML из словаря Python. В словаре есть список значений ключа «тип». Я весь день искал примеры решения моей проблемы, но ничего не нашел в документации.
Я пытался получить вывод файла YAML следующим образом:
some_key:
- id: 1059
parameter: Paramter1
unit: kg
type: [A, B, C, 1, 2, 3]

Это означает, что список после типа является элементом потока в стиле блока, что и является фактической причиной, по которой я перешел на ruamel.yaml, поскольку я читал, что это может быть возможным в отличие от PyYAML (смешивание форматирования блоков и потоков в YAML с Python). Но там я не смог найти то, что пытаюсь сделать.
Что я (что неудивительно) получаю, когда звоню
yaml.dump()

в словаре есть
some_key:
- id: 1059
parameter: Paramter1
unit: kg
type:
- A
- B
- C
- '1'
- '2'
- '3'

Кто-нибудь знает, как это решить? Полезной информацией может быть, а может и не быть, то, что соответствующий список также может быть преобразован в другие форматы (например, строку), я получаю его из CSV-листа.
ОБНОВЛЕНИЕ, вот пример кода того, что я пытался:
CSV-строка выглядит так:
"","",Parameter 1,Dropdown,kg,"","","A,B,C,1,2,3"

и в преобразовании.py что-то вроде:
with open(csv_filename, "r") as file:
reader = csv.reader(file)
data = {"some_key": []}
for position, line in enumerate(reader):
if line[3] == "Dropdown":
select_options = []
for item in line[7].split(","):
select_options.append(item)
select_options = [x.strip(" ") for x in select_options]
type = f"{select_options}"
dict = {
"id": "tbd",
"parameter": line[2].strip(" "),
"unit": line[4].strip(" "),
"type": type,
}
data["some_key"].append(dict)
doc = yaml.dump(data, file)


Подробнее здесь: https://stackoverflow.com/questions/664 ... ile-ruamel
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»