Python:使用UTF-8编码读取德语/西班牙语CSV文件

爱丽丝

我有一个关于使用Python打开和读取utf-8编码的CSV文件的问题。我花了大部分时间浏览Stackoverflow主题和Python csv模块,但似乎找不到正确的解决方案。我的CSV文件包含带有“特殊”字符(ñ,é等)的西班牙语和德语单词,这是我的文件的摘要:

english_person,spanish_M,spanish_F,german_person
woman,mujer ,mujer ,Frau 
strong,fuerte ,fuerte ,stark 
boy,niño ,niño ,Junge 

只是尝试使用编解码器模块读取它不起作用:

import csv
import codecs

f = codecs.open('file.csv', 'rb', encoding='utf-8')
reader = csv.reader(f)
for line in reader:
    print line

我收到此错误:

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

因此,我下载了unicodecsv模块,并尝试读取如下文件:

import unicodecsv

myfile = open('file.csv')
data = unicodecsv.reader(myfile, encoding='utf-8', delimiter=';')
for row in data:                                                 
    print row

幸运的是,我再也没有收到错误,但我的输出中仍然有这些奇怪的字符(在最后一行):

[u'\ufeffenglish_person,spanish_M,spanish_F,german_person']
[u'woman,mujer ,mujer ,Frau ']
[u'strong,fuerte ,fuerte ,stark ']
[u'boy,ni\xf1o ,ni\xf1o ,Junge ']

发生了什么事,我该如何解决?谢谢您的帮助!

博宾斯

UnicodeEncodeError:'ascii'编解码器无法在位置0编码字符u'\ ufeff'

读取CSV没问题。这是将print其添加到控制台的问题您的控制台不支持Unicode,因此无法从CSV文件的前面打印U + FEFF字节顺序标记字符。(通常将人造BOM放在UTF-8 CSV文件中,因为Excel否则不会读取它们。)

使用MS C运行时stdlib的应用程序在Windows控制台上对于Unicode而言基本上是无效的。打印失败

幸运的是,我再也没有收到错误,但我的输出中仍然有这些奇怪的字符(在最后一行):

您在此处打印行,而不是单个值。每行是一个字符串列表。当您打印列表时,它以repr表格形式出现,因此您的字符串以Python字符串文字形式打印。u'ni\xf1o'u'niño'是相同的字符串。

(如果您使用正确的定界符,而不是,这会稍微清楚一些;。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:使用UTF-8编码读取德语/西班牙语CSV文件

来自分类Dev

使用Perl文件处理的CSV中的西班牙语字符

来自分类Dev

不使用桌面环境时,如何在Linux中键入德语或西班牙语字符?

来自分类Dev

Sublime - Python3 不打印非 utf-8 字符(西班牙语)

来自分类Dev

VelocityEngineUtils.mergeTemplateIntoString 使用 UTF-8 和西班牙语字母

来自分类Dev

如何在python中使用西班牙语进行编码和解码

来自分类Dev

标准化名称-姓氏字符串:PHP + REGEX(西班牙语字符-UTF8)

来自分类Dev

如何使用nltk阻止西班牙语单词列表?

来自分类Dev

如何在NLTK中使用西班牙语Wordnet?

来自分类Dev

使用googletrans将西班牙语翻译成英语

来自分类Dev

TTS无法使用的某些语言环境-包括西班牙语

来自分类Dev

如何使用nltk来阻止西班牙语单词列表?

来自分类Dev

在移动设备上使用input =“ date”的西班牙语日历

来自分类Dev

如何在西班牙语中使用 TesseractOCRiOS?

来自分类Dev

在 Torchtext 中使用西班牙语中的预训练嵌入

来自分类Dev

使用UTF-8的Python Unicode编码

来自分类Dev

Python 3:读取包含德语变音符号的UTF-8文件

来自分类Dev

使用UTF-8编码读取XML文件

来自分类Dev

如何使用NLTK雪球提取器来提取西班牙语单词列表Python

来自分类Dev

使用Python保存UTF-8 CSV

来自分类Dev

Excel使用UTF8编码与UTF8-Bom编码保存CSV文件的行为

来自分类Dev

使用JavaScript以UTF-8(例如希腊语)编码将JSON导出为CSV或Excel

来自分类Dev

Lua string.match utf-要求西班牙语字符-葡萄牙语一半

来自分类Dev

在python中使用UTF-16编码

来自分类Dev

如何在python中用西班牙语千位分组格式化数字?

来自分类Dev

是否有适用于python 3的西班牙语到英语词典?

来自分类Dev

如何使用SimpleDateFormat格式化句子中的西班牙语月份?

来自分类Dev

使用preg_replace将月份翻译成西班牙语-PHP

来自分类Dev

使用JavaScript使用UTF-8(例如希腊语)编码将JSON导出为CSV或Excel

Related 相关文章

  1. 1

    Python:使用UTF-8编码读取德语/西班牙语CSV文件

  2. 2

    使用Perl文件处理的CSV中的西班牙语字符

  3. 3

    不使用桌面环境时,如何在Linux中键入德语或西班牙语字符?

  4. 4

    Sublime - Python3 不打印非 utf-8 字符(西班牙语)

  5. 5

    VelocityEngineUtils.mergeTemplateIntoString 使用 UTF-8 和西班牙语字母

  6. 6

    如何在python中使用西班牙语进行编码和解码

  7. 7

    标准化名称-姓氏字符串:PHP + REGEX(西班牙语字符-UTF8)

  8. 8

    如何使用nltk阻止西班牙语单词列表?

  9. 9

    如何在NLTK中使用西班牙语Wordnet?

  10. 10

    使用googletrans将西班牙语翻译成英语

  11. 11

    TTS无法使用的某些语言环境-包括西班牙语

  12. 12

    如何使用nltk来阻止西班牙语单词列表?

  13. 13

    在移动设备上使用input =“ date”的西班牙语日历

  14. 14

    如何在西班牙语中使用 TesseractOCRiOS?

  15. 15

    在 Torchtext 中使用西班牙语中的预训练嵌入

  16. 16

    使用UTF-8的Python Unicode编码

  17. 17

    Python 3:读取包含德语变音符号的UTF-8文件

  18. 18

    使用UTF-8编码读取XML文件

  19. 19

    如何使用NLTK雪球提取器来提取西班牙语单词列表Python

  20. 20

    使用Python保存UTF-8 CSV

  21. 21

    Excel使用UTF8编码与UTF8-Bom编码保存CSV文件的行为

  22. 22

    使用JavaScript以UTF-8(例如希腊语)编码将JSON导出为CSV或Excel

  23. 23

    Lua string.match utf-要求西班牙语字符-葡萄牙语一半

  24. 24

    在python中使用UTF-16编码

  25. 25

    如何在python中用西班牙语千位分组格式化数字?

  26. 26

    是否有适用于python 3的西班牙语到英语词典?

  27. 27

    如何使用SimpleDateFormat格式化句子中的西班牙语月份?

  28. 28

    使用preg_replace将月份翻译成西班牙语-PHP

  29. 29

    使用JavaScript使用UTF-8(例如希腊语)编码将JSON导出为CSV或Excel

热门标签

归档