csv 从两个列表的并集中获取所有字段名

gkl3eglg  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(185)

我想从两个列表的并集中获取所有字段名,以便以后导出为csv,但我只从一个列表中获取了fildname。
我想获取所有字段名,因为当我导出到csv时,我收到以下错误:值错误:dict包含不在fieldnames中的字段:'amzlink'、'网址'、'asin'

amazondata = [{'amzlink': 'https://www.amazon.com/dp/B084ZZ7VY3', 'asin': 'B084ZZ7VY3', 'url': 'https://www.amazon.com/s?k=712145360504&s=review-rank'}]

amazonPage = [{'price': '$14.95', 'image': 'https://m.media-amazon.com/images/I/81D1P4QqLfL._AC_SX425_.jpg', 'rating': '4.7 out of 5'}]

result = []

amazonPage.extend(amazondata)
for myDict in amazonPage:
    if myDict not in result:
        result.append(myDict)
print (result[0])
ioekq8ef

ioekq8ef1#

**如果您只是想获得字典中所有字段名称的列表:**从字典中提取键,转换为集合,并进行集合的并集。

下面借用@Baramr的amazondata列表来演示这一点:
第一个

**如果要合并两个字典:**请使用update方法。

第一次

nimxete2

nimxete22#

循环遍历所有字典,将键添加到set

amazondata = [{'amzlink': 'https://www.amazon.com/dp/B084ZZ7VY3', 'asin': 'B084ZZ7VY3', 'url': 'https://www.amazon.com/s?k=712145360504&s=review-rank'}]

amazonPage = [{'price': '$14.95', 'image': 'https://m.media-amazon.com/images/I/81D1P4QqLfL._AC_SX425_.jpg', 'rating': '4.7 out of 5'}]

result = []

amazonPage.extend(amazondata)
all_fields = set()
for myDict in amazonPage:
    all_fields |= myDict.keys()

print(all_fields)

相关问题