读取多个文件时如何提供编码?

时间:2019-05-02 07:14:59

标签: python pandas

我正在从一个文件夹中读取多个csv文件。在读取多个文件时,我收到UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 21: invalid start byte

当我尝试一一读取文件时,我在"ISO-8859-1"中提供了类型为pandas.read_csv(file_name, encoding的编码。我的最终目标是将所有文件附加到单个数据框中。以下是我用于上述目的的代码。

import glob


files = glob.glob('/path_name/*.csv')

df = None

for i, f in enumerate (files):
    if i == 0:
        df = pd.read_csv(f)
        df['fname'] = f
    else:
        tmp = read_csv(f)
        tmp['fname'] = f
        df = df.append(tmp)

df.head()

1 个答案:

答案 0 :(得分:0)

尝试添加errors='ignore',然后一切正常,但是您将丢失几个字符。

with open(path, encoding="utf8", errors='ignore') as f: