python-3.x - 如何遍历字典列表并将值作为单个列写入 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 中执行此操作?
谢谢!
解决方案
在将每一行写入文件之前,将每一行展平为一个普通列表可能是最简单的。像这样的东西:
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)
推荐阅读
- verilog - 期望一个向量值并获取一个数组而不是一个 reg
- amazon-web-services - 如何将文件从 AWS S3 复制到 LAN 驱动器
- r - 如何从高维数据中获取有代表性的样本(具有很多特征)
- user-interface - Blazor 页面刷新
- javascript - 如何在反应中将功能传输到功能组件
- ocaml - 模块何时重新声明与别名?
- bash - 如何在变量中插入多个值并通过 CURL 为每个值发出请求?
- github - 尝试通过 github api 获取特定日期以来特定分支中的所有提交或提交 id
- c++ - 在 Openmp 中,omp_init_lock() 和 omp_destroy_lock() 是否应该在每个并行区域或每个程序调用中调用一次?
- php - PHPStorm:尽管成功使用了 require(),但变量未定义;在 PHP 中