如何将UTF8和其他编码的字符写入Python中的文件?

2024-10-01 15:32:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个SharePoint库,它捕获用户以XML形式输入的数据。此表单编码为UTF-8,但用户输入的一些字符不是ASCII(例如法语、西班牙语、毛利语的单词),也不会另存为UTF-8。

以下是此类数据(缩写,sans meta data)的示例:

<?xml version="1.0" encoding="utf-8"?>
<my:myFields xmlns:my="http://schemas.microsoft.com/etc...">
    <my:title>Te whakaako i Te Reo Mäori -- Teaching Te Reo Mäori</my:title>

我正在使用ElementTree中的parse函数(xml.etree.ElementTree)将这些信息编译成一个报告,然后将其导出为CSV并以Excel电子表格发送出去。因此,我想把UTF-8字符和所有用户输入都转换成一种能与Excel(cp1252?)一起工作的格式公司名称:

^{pr2}$

当我将所有计算的结果写入文件时,我得到以下错误(对于上面的示例XML):

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 48: ordinal not in range(128)

当我查看数据时,我看到标记中的文本已经被转换成unicode,其中的'\xe4'代替了'a':u'Te whakaako i Te Reo M\xe4ori -- Teaching Te Reo M\xe4ori'

我希望我的Excel报表能够包含字符“ä”,但似乎不能让它编码的方式,以实现这一点。

我可能会错过一些明显的编码/解码点,但我已经为此苦苦挣扎了一天,所以任何帮助都是感激的:)


Tags: 数据用户示例编码titlemyxml字符

热门问题