【问题标题】:How do I remove [ ] and ' ' from my dictionary values so that I can print it properly in a csv file如何从我的字典值中删除 [ ] 和 ' ' 以便可以在 csv 文件中正确打印
【发布时间】:2019-06-13 08:23:53
【问题描述】:

我有一本字典作为输出。价值观很混乱。它们采用字符串/列表形式。我需要从中删除方括号和引号,以便可以在 CSV 文件中正确打印它们。我怎样才能做到这一点?

这是字典:

{'table': [['abc']], 'from': [['abc']], 'where_expr': ['c', '=', 'book']}

我希望它变成这样: {'table': abc, 'from': abc, 'where_expr': c, =,book} 和我的 csv 文件作为

表|从| where_expr

abc | abc |c = 书

(我只是使用 | 显示不同的列)

dict1=delr.asDict()
with open('delf.csv', 'w') as f:  x
    w = csv.DictWriter(f, dict1.keys())
    w.writeheader()
    w.writerow(dict1)

【问题讨论】:

  • 相当肯定的欺骗问题
  • for k in dict1.keys(): dict1[k] = dict1[k][0][0]

标签: python csv dictionary


【解决方案1】:

您可以使用以下dictcomp:

{k: str(v).strip("[]").replace("'", "") for k, v in dct.items()}
# {'table': 'abc', 'from': 'abc', 'where_expr': 'c, =, book'}

【讨论】:

  • 这个解决方案太简单了!谢谢!
【解决方案2】:

那为什么不呢:

print({k: (', '.join(v[0]) if isinstance(v[0], list) else ', '.join(v)) for k,v in d.items()})

输出:

{'table': 'abc', 'from': 'abc', 'where_expr': 'c, =, book'}

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 2021-02-28
    • 2020-02-26
    • 1970-01-01
    相关资源
    最近更新 更多