我正在尝试用空格替换所有制表符,以便我可以将逗号分隔的文本放在另一个文件的一行中。现在我的代码如下所示:
from __future__ import print_function
import re
import ast
f = open('sample_test.txt', 'r')
g = open('sample_test1.txt', 'w')
for line in f:
c = re.sub(r'\R', r' ', line.rstrip())
print (c, file = g)
f.close()
现在的问题是我收到此错误:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 1944: character maps to <undefined>
最佳答案
以 utf-8 格式打开文件,如果您只想替换制表符,也不需要正则表达式:
import io
with io.open('sample_test.txt', encoding="utf-8") as f, io.open('sample_test1.txt', 'w', encoding="utf-8") as g:
for line in f:
g.write(line.replace("\t"," "))
关于python - python 正则表达式的 UnicodeDecodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37510616/