打开明确保存为 UTF-8 的 CSV 仍然显示其编码为 cp1252

Opening a CSV explicitly saved as UTF-8 still shows its encoding as cp1252

我有一个 Python 脚本,它根据给定的 pandas DataFrame 生成一个 .csv 文件。 尽管在python3中默认[=​​14=]将编码设置为'utf-8',我也在代码中指定了它(生成文件后):

df.to_csv(filename, index=False, encoding='utf-8')

我使用以下方法检查编码类型:

with open(filename) as f:
    print(f)

之后我得到:encoding='cp1252'

谁能帮忙,为什么会这样?

试试这个:

with open(filename, encoding="utf8") as f:
    print(f)

尝试

with open(filename, encoding='utf-8') as f:
    print(f)