首页 > 解决方案 > 如何遍历字典列表并将值作为单个列写入 CSV

问题描述

我有一个字典列表

d = [{'value':'foo_1', 'word_list':['blah1', 'blah2']}, ...., {'value': 'foo_n', 'word_list':['meh1', 'meh2']}]

我想将其写入一个 CSV 文件,其中所有“值”键在一列中,然后将“值”的 word_list 中的每个单词作为其自己的列。所以我有第一行

foo_1 blah_1 blah_2

等等。

我不知道我有多少词典,也不知道“word_list”中有多少单词。

我将如何在 Python 3 中执行此操作?

谢谢!

标签: python-3.xdictionaryexport-to-csv

解决方案


在将每一行写入文件之前,将每一行展平为一个普通列表可能是最简单的。像这样的东西:

with open(filename, 'w') as file:
    writer = csv.writer(file)
    for row in data:
        out_row = [row['value']]
        for word in row['word_list']:
            out_row.append(word)
        csv.writerow(out_row)
    # Shorter alternative to the two loops:
    # csv.writerow((row['value'], *row['word_list']) for row in data)

推荐阅读