Python - 从文本字符串中删除方形符号

时间:2014-02-26 17:23:00

标签: python csv python-3.x unicode

a='ÿþ"[]B[]a[]l[]a[]n[]c[]e'

注意:打开和关闭方括号代表此方形符号。然而,我无法将方形符号复制并粘贴到此处以向您显示我正在查看的内容。

'a'中的字符代表我下载的文件的开头。它是一个csv文件,unicode。如何删除这些不需要的字符?我只想从a。恢复“平衡”这个词。

我以前使用的代码就是这个例子:

fi = open(path+fn, 'r')
data = fi.read()
fi.close()
print(data)

其中fn是csv文件。

尝试:

data=data.encode()
d=replace('\x00','')

产生错误:

TypeError: expected bytes, bytearray or buffer compatible object

3 个答案:

答案 0 :(得分:2)

打开文件时需要指定正确的编码。尝试

open(path+fn, 'r', encoding="utf-16")

(我猜utf-16因为ASCII字符似乎在样本字符串中以两个字节编码)

答案 1 :(得分:0)

如果你不想搞乱编码,string.printable是一个'可打印'字符列表,可能就是你要找的。

>>> from string import printable
>>> best_string_ever = filter(lambda x: x in printable, a)
>>> best_string_ever
'"Balance'

答案 2 :(得分:0)

如果你可以显示字符值,那么你可以使用strip(u'\ uxxx')命令

使用replace()方法

newstring = textstring.replace(u'\uxxx', '')

在这种情况下,传递您想要的实际字符编码。