替换字典列表中的一个字符并将对象恢复为原始格式

我有一份要使用ExcelWriter编写为excel的词典列表。 该词典列表是从我使用的API下载并格式化的。

问题在于,这些词典中有些项目以“ =”开头,并且在导出到Excel时,“ =”被视为公式,并且Excel损坏。

在此词典列表中,有什么方法可以用“-”代替“ =”吗?

该列表如下所示:

[{'name': 'allen', 'ticketid': '1', 'statement':'= sign not working'}, {'name': 'bob', 'ticketid': '2', 'statement': 'led should be green when up'}]

我希望能够用另一个字符替换“ =”符号,甚至可以写成“等于”。

谢谢, 一个。

评论
  • _RocY、
    _RocY、 回复

    与Michael所说的一样,但是除了修整外,您还可以在字符串上使用replace()方法。这样可以确保将任何'='替换为''而不是开头

    for dict in the_dicts: if '=' in dict['statement']: dict['statement'].replace('=',' ')

  • 唯1的唯一
    唯1的唯一 回复

    正如Michael所说,您应该首先遍历列表以获得字典,然后再遍历列表内的字典作为键值索引。

    与其替换以“ =”开头的名称,您还可以简单地将每个“ =”替换为所需的内容。以及您要替换的其他任何东西。

    您的代码应如下所示:

    your_list= [{'name': 'allen', 'ticketid': '1', 'statement':'= sign not working'}, {'name': 'bob', 'ticketid': '2', 'statement': 'led should be green when up'}]
    
    for dict_in_list in your_list:
        for key, value in dict_in_list.items():
            dict_in_list[key] = value.replace("=", "your_replacement_goes_here")
    

    在这个微小的循环之后,字典值中的所有“ =”都将替换为所需的内容,而不是“ =”

  • amodi
    amodi 回复

    遍历字典并检查每个语句。如果以“ =”开头,则将其修剪掉(或者您可以使用字符串串联将其替换为某些字符串)。

    for my_dict in my_dicts:
        if my_dict['statement'].startswith('='):
            my_dict['statement'] = my_dict['statement'][1:]