python - 处理字符串列表中的法语字符
问题描述
我正在尝试从CSV
用法语编写的文件中提取数据Python 2.7
。我可以正确读取单个单元格(字符以打印时应有的方式显示)。但是,当我打印行列表(文件的全部内容)时,输出会被打乱。
例子:
# -*- coding: utf-8 -*-
from __future__ import print_function#, unicode_literals
l = ["à ä â", #Some french characters
"é è ë ê",
"ï î",
"ù ü û",
"ö ô",
"ç",
"°"]
for i, item in enumerate(l):
print(l[i])
print(l)
分别打印行(for
循环)输出:
à ä â
é è ë ê
ï î
ù ü û
ö ô
ç
°
打印整个列表 ( print(l)
) 输出时:
['\xc3\xa0 \xc3\xa4 \xc3\xa2', '\xc3\xa9 \xc3\xa8 \xc3\xab \xc3\xaa', '\xc3\xaf \xc3\xae', '\xc3\xb9 \xc3\xbc \xc3\xbb', '\xc3\xb6 \xc3\xb4', '\xc3\xa7', '\xc2\xb0']
这真的让我很困惑。如果我错过了已经回答该问题的帖子,我深表歉意。
到目前为止我尝试了什么:
l= [unicode(i, 'utf-8') for i in l]
它还输出:
[u'\xe0 \xe4 \xe2', u'\xe9 \xe8 \xeb \xea', u'\xef \xee', u'\xf9 \xfc \xfb', u'\xf6 \xf4', u'\xe7', u'\xb0']
编辑:
另一种尝试是:
l=repr(l).decode('unicode-escape').encode('utf8')
print(l)
输出所需的结果:
[u'à ä â', u'é è ë ê', u'ï î', u'ù ü û', u'ö ô', u'ç', u'°']
然而,
print(l[0])
输出:
[
所以列表现在是一个字符串。
预先感谢您的帮助和建议。
解决方案
推荐阅读
- reactjs - 调用 Webpack 时无法为 React 项目中的 Bryntum 调度程序获取共享库/资源
- java - 如何使用流将列表类型 A 和 B 的元素复制到新的列表类型 C
- windows - 带有 SFTP 的 Sublime Text:忽略 SSH 密钥文件 (Windows)
- git - git - 更新被拒绝,因为远程包含您提示的工作:本地没有
- for-loop - Verilog for 循环无法使用 oasys 进行综合
- android - Qt/QML Android 10 崩溃“中止”
- angular - 如何使用无尽的 JSON 绑定树结构 UI - Angular 8
- angular - 如何在具有 cPanel 的实时服务器上部署具有独立前端(角度)和后端(弹簧启动)的应用程序?
- javascript - 如何路由到Vue中随机生成的firestore id?
- react-native - 在反应本机应用程序中添加清除缓存选项