为什么我在CSV的readlines()中的第一个元素有其他字符?

时间:2018-04-10 22:47:25

标签: python list csv readlines

我运行了以下python代码来打开一个CSV,第一个元素中有一些额外的字符,当我在文本编辑器中查看CSV时,它不存在,比如Notepad ++。

priorities_file = open('priorities.txt', 'r')
print('Name of the file: ', priorities_file.name)

p = priorities_file.readlines()
print('Read Line: %s' % (p))

输出看起来像这样:

Name of the file:  priorities.txt    
Read Line: ['Autonomy\n', 'Travel\n',...

我理解'\ n'以及如何从每个元素中删除它,但我不明白为什么元素'Autonomy'前面还有其他字符。谁能告诉我为什么会这样?奖励点是一种方法来删除那些我真的无法找到如何重现的角色。

1 个答案:

答案 0 :(得分:-1)

repr()会有所帮助。 (在Python 3.X上;改为使用ascii())。

p = priorities_file.readlines()
print(repr(p))

我的预感是csv文件中的ecnoding实际上不是ASCII或UTF8?

更新:

这应该可以解决问题:

p = p.decode("utf-8-sig")