如何删除dict列表中的键?

2024-10-03 21:36:01 发布

您现在位置:Python中文网/ 问答频道 /正文

def get_all_cust_info():
    """function displays data as a list of dict of base  data"""
    reader = csv.DictReader(open("base data.csv", "rb"))
    all_rows = list()
    for row in reader:
    all_rows.append(row)
    return all_rows

get\u all\u cust\u info()的第一行输出。你知道吗

   [{'totcust': '2', 'delfee': '1308', 'bskt_bnd': '0', 'distribution ': '>1', 'totords': '199', 'netsales': '1851'}, .......] 

我想创建一个新函数,删除键('delfee'和'netsales'),并添加新键'order value'。这就是我所做的

    def cust_state():
        s = get_all_cust_info()
        for d in s:
            if d.has_key('delfee'):
               del d['delfee']
               print s  

但我得到了这个错误。你知道吗

  AttributeError: 'list' object has no attribute 'has_key'

非常感谢你的帮助。你知道吗


Tags: ofcsvinfofordatabasegetdef
1条回答
网友
1楼 · 发布于 2024-10-03 21:36:01
if s.has_key('delfee'):

应该是:

if d.has_key('delfee'):


def cust_state():
        s = get_all_cust_info()
        for d in s:
            if 'delfree' in d:
                del d['delfree']
            if 'netsales' in d:
                del d['netsales']
            d['ordervalue'] = something
        return s

相关问题 更多 >