Python教程

python 读取csv文件 和 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position

本文主要是介绍python 读取csv文件 和 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python 读取csv文件,无法读取第一列的数据,不知道为什么。以后有时间再来研究

import os
import csv
import json

fw = open("data_json.py", "w")
index = 0
with open("log_test/tests/data.csv", "r", newline='', encoding= u'utf-8',errors='ignore') as f:
    reader = csv.DictReader(f)
    for row in reader:
        row_data = {
            "name": row["name"],
            "gender": row["gender"],
            "score": row["score"]       
        }
        fw.write("############# {} ##############\n".format(index))
        fw.write("{}\n".format(json.dumps(row_data, indent='    ',ensure_ascii=False)))
        index += 1

如果碰到‘UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position’问题,这是因为读取文件,并解析内容,但是有些文件的格式不是utf-8,导致读取失败,无法继续。

可以在open()函数中加上 encoding= u'utf-8',errors='ignore'两个参数试试。

参考:Python 编码问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position_羊族的希望的博客-CSDN博客

这篇关于python 读取csv文件 和 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!