You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xlsxwriter将字典转XLSX时字符串值被拆分为单字符问题咨询

问题原因

write_column()方法要求传入的第三个参数为可迭代序列,会将序列内的每个元素逐行写入对应列。字符串在Python中属于字符组成的可迭代对象,因此传入后会被自动拆分为单个字符逐行填充。你之前尝试的join操作并未改变传入参数是字符串的本质,因此无法解决问题,操作不当还会导致内容为空。

解决方案

两种修改方式二选一即可:

方案1:直接使用write()方法写入单行内容

这是最符合需求的方案,直接指定第二行、对应列写入字符串值即可:

import xlsxwriter

fieldsDict = {'1': 'abc', '2': 'def', '3': 'ghi'}

workbook = xlsxwriter.Workbook('output.xlsx')
worksheet = workbook.add_worksheet('stuff')

colNum = 0
for key, value in fieldsDict.items():
    worksheet.write(0, colNum, key)
    # 把write_column改为write,指定行号为1(第二行)
    worksheet.write(1, colNum, value)
    colNum += 1

workbook.close()

方案2:将字符串包装为单元素列表传入write_column()

如果你需要保留write_column()的用法,只需要把字符串放到列表里,让可迭代对象仅包含一个完整字符串元素即可:

# 仅修改对应行即可
worksheet.write_column(1, colNum, [value])

内容的提问来源于stack exchange,提问作者toy_soldier111

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:42:04