首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将python字典转储到yaml文件时保留引号

将python字典转储到yaml文件时保留引号
EN

Stack Overflow用户
提问于 2019-07-24 23:48:44
回答 1查看 46关注 0票数 0

我有以下字符串:“我不感到悲伤”,“我不感到悲伤和我感到悲伤”,“我感到悲伤和我一直都很悲伤,我无法摆脱它”,“我一直很悲伤,我无法摆脱它”,“中等水平,我一直都很悲伤,我无法摆脱它,我很悲伤和不开心,我无法忍受”,“我是如此的悲伤和不开心,以至于我无法忍受”

这是read_csv调用的结果。它作为key: value对加载到python字典中:

{枚举:‘’我不感到悲伤“,”我不感到悲伤和我感到悲伤“,”我一直感到悲伤,我无法摆脱它“,”我一直很悲伤,我无法摆脱它“,”中等水平,我一直很悲伤,我无法摆脱它,我非常悲伤和不开心,我无法忍受“,“我是如此的悲伤和不开心,以至于我无法忍受”

当我将这个字典转储到一个yaml文件时,我需要输出如下形式:

为此,我将字符串传递给函数

代码语言:javascript
复制
def enum2list(enums):
    stripped = []
    splitenums = enums.split('"')
    enumpro = list(filter(lambda x: x != ' ' and x != ',' and x != '', splitenums))
    S = ruamel.yaml.scalarstring.DoubleQuotedScalarString
    strns = [S(e) for e in enumpro]
    return newst

这成功地拆分了字符串,然后添加了引号,但是当我使用

代码语言:javascript
复制
yaml= YAML()
yaml.default_flow_style = False
yaml.indent(offset = 2, sequence = 4, mapping = 2)
fs = open(f'./{n}.yaml', 'w')
yaml.dump(dictlist[0], fs)
fs.close()

它的输出保留了反斜杠。

所需:

代码语言:javascript
复制
enums: 
  - "I Do Not Feel Sad"
  - "Intermediate Level Between I Do Not Feel Sad And I Feel Sad"
  - "I Feel Sad"
  - "Intermediate Level Between I Feel Sad And I Am Sad All The Time And I         Can't Snap Out Of It"
  - "I Am Sad All The Time And I Can't Snap Out Of It"
  - "Intermediate Level Between I Am Sad All The Time And I Can't Snap Out    Of It And I Am So Sad And Unhappy That I Can't Stand It"
  - "I Am So Sad And Unhappy That I Can't Stand It"

实际:

代码语言:javascript
复制
enums:
  - "I Do Not Feel Sad"
  - "Intermediate Level Between I Do Not Feel Sad And I Feel Sad"
  - "I Feel Sad"
  - "Intermediate Level Between I Feel Sad And I Am Sad All The Time   And I Can't\
        \ Snap Out Of It"
   - "I Am Sad All The Time And I Can't Snap Out Of It"
      - "Intermediate Level Between I Am Sad All The Time And I Can't     Snap Out Of\
        \ It And I Am So Sad And Unhappy That I Can't Stand It"
   - "I Am So Sad And Unhappy That I Can't Stand It"
EN

回答 1

Stack Overflow用户

发布于 2019-07-24 23:56:20

尝试在,上的enum2list中拆分enum,而不是拆分"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57186821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档