使用XlsxWriter写入带双引号XML数据时引号异常的解决咨询
解决XlsxWriter写入XML时双引号重复的问题
- 核心原因是XlsxWriter默认会对含双引号的文本进行转义:用双引号包裹内容,同时把内部单个双引号替换成两个。你的XML里的
name="Bob"(对应你输入的name="Bob")被二次转义,就出现了name=""Bob""的情况。 - 直接用
write_string()方法替代默认的write()或write_row(),并传入escape=False参数,就能禁用自动转义:
# 示例代码 text_format = workbook.add_format({'num_format': '@'}) worksheet.write_string(row, col, your_xml_content, text_format, escape=False)
- 注意不要使用
write()或write_row(),因为这些方法会自动触发文本转义逻辑,即使设置了文本格式也无效。必须直接调用write_string()并关闭转义。
内容的提问来源于stack exchange,提问作者Don Levey
相关产品推荐
相关产品推荐

