在从文件读取的列表中拆分 \xef\xbb\xbf

Split \xef\xbb\xbf in a list read from a file

我尝试读取大数据 file.txt 并拆分所有逗号、点等,所以我在 Python:

中使用此代码读取文件
file= open("file.txt","r")
importantWords =[]
for i in file.readlines():
    line = i[:-1].split(" ")
    for word in line:
        for j in word:
            word = re.sub('[\!@#$%^&*-/,.;:]','',word)
            word.lower()
        if word not in stopwords.words('spanish'):
            importantWords.append(word)
print importantWords

并打印出 ['\xef\xbb\xbfdataText1', 'dataText2' .. 'dataTextn'].

我该如何清洁 \xef\xbb\xbf?我正在使用 Python 2.7.

UTF-8 encoded BOM

>>> import codecs
>>> codecs.BOM_UTF8
'\xef\xbb\xbf'

您可以使用codecs.open with encoding='utf-8-sig'跳过BOM顺序:

with codecs.open("file.txt", "r", encoding="utf-8-sig") as f:
    for line in f:
        ...

旁注:不要使用 file.readlines,只需遍历文件即可。 file.readlines 如果您想要的只是遍历文件,将创建不必要的临时列表。