如何将dict列表中提取的Value值输出为单行内容,可写入Excel单元格
解决方法
首先不要使用dict作为变量名,它是Python内置的字典类型关键字,覆盖后会影响后续字典相关操作,建议重命名为dict_list这类自定义名称。
你之前的输出不符合预期是因为将打印/输出逻辑放在了for循环内部,每一轮循环都会执行一次输出,只需要将输出逻辑挪到循环结束后即可。
方案1:列表推导式(最简洁)
直接一行提取所有Value值为列表,可直接用于xlsxwriter写入Excel:
dict_list = [ {'Value': 'test1'}, {'Value': 'test2'}, {'Value': 'test3'}, {'Value': 'test4'}] value_list = [item['Value'] for item in dict_list] print(value_list) # 输出:['test1', 'test2', 'test3', 'test4']
方案2:拼接为纯文本字符串
如果需要写入Excel的是无引号、无括号的逗号分隔内容,可使用join方法拼接:
value_str = ', '.join(value_list) print(value_str) # 输出:test1, test2, test3, test4
原有代码的修改方案
如果要沿用你之前的循环写法,只需要调整打印位置即可:
x=[] for a in dict_list: x.append(a['Value']) # 循环结束后再执行打印/写入Excel操作 print(x)
xlsxwriter支持直接写入列表类型到单个单元格,也支持写入拼接后的字符串类型,两种格式都可以直接使用。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

