如何从字典值中删除[]和'',以便可以在csv文件中正确打印

时间:2019-06-13 08:23:53

标签: python csv dictionary

我有一个字典作为输出。这些值是混乱的。它们采用字符串/列表的形式。我需要从中删除方括号和引号,以便可以在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)

2 个答案:

答案 0 :(得分:2)

您可以使用以下dictcomp:

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

答案 1 :(得分:1)

那为什么不呢?

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'}