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
答案 0 :(得分:2)
打开文件时需要指定正确的编码。尝试
open(path+fn, 'r', encoding="utf-16")
(我猜utf-16因为ASCII字符似乎在样本字符串中以两个字节编码)
答案 1 :(得分:0)
如果你不想搞乱编码,string.printable
是一个'可打印'字符列表,可能就是你要找的。 p>
>>> 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', '')
在这种情况下,传递您想要的实际字符编码。