【发布时间】:2016-07-07 22:19:54
【问题描述】:
你好 StackOverflow 社区。p>
我是 Python 的一个相当新的用户,对于这个问题的愚蠢之处,我深表歉意!但是我已经尝试修复了几个小时,但仍然没有弄明白。
我正在尝试导入一个大型文本数据集以在 Python 中对其进行操作。
此数据集位于 .csv 中,由于编码问题,我在读取它时遇到了问题。
我尝试使用 notepad++ 将其编码为 UTF-8 文本 我在 Python 中尝试过 csv.reader 模块
这是我的代码示例:
import csv
with open('twitter_test_python.csv') as csvfile:
#for file5 in csvfile:
# file5.readline()
#csvfile = csvfile.encode('utf-8')
spamreader = csv.reader(csvfile, delimiter=str(','), quotechar=str('|')
for row in spamreader:
row = " ".join(row)
row2= str.split(row)
listsw = []
for mots in row2:
if mots not in sw:
del mots
print row2
但是当我在 Python 中导入数据时,无论我使用哪种方法,我仍然存在编码问题(口音等)。
如何对我的数据进行编码,以便使用 Python 正确读取?
谢谢!
【问题讨论】:
-
我仍然有编码问题 完全没有任何意义!说出确切发生的情况和预期的情况。
-
这是我数据中的一个列表示例:[u"En vrai j'en ai marre j'ai une poste \xe0 3min de chez moi et le postier il d\xe9cide de mettre mon colis dans une poste que je connais pas"] .
-
我想要那个:[En vrai j'en ai marre j'ai une poste à 3min de chez moi et le postier il décide de mettre mon colis dans une poste que je connais pas]
-
那么,pas de problème。当我在 IDLE 上键入
print u"En vrai j'en ai marre j'ai une poste \xe0 3min de chez moi et le postier il d\xe9cide de mettre mon colis dans une poste que je connais pas"时,我得到正确的En vrai j'en ai marre j'ai une poste à 3min de chez moi et le postier il décide de mettre mon colis dans une poste que je connais pas。这意味着您的数据是正确的 unicode 字符串,其中包含正确的 unicode 重音字符。换句话说,您在读取数据时没有编码问题,但在显示数据时可能会遇到。
标签: python csv unicode encoding utf