Python使用Pandas导入csv文件产生错误的解决方式(UnicodeDecodeError)

众所周知,Pandas是一个很强大的库,可用于数据分析。我们常常要使用Pandas来导入csv文件,进而通过编程对文件中的数据加以分析。
笔者在以前通常使用如下的方式来导入数据,一列一列的进行分析,十分便捷。

import csv
filename='aaa.csv'
number=[]
with open(filename) as f:
    reader = csv.reader(f)
    word=next(reader)
    
    for row in reader:
    number.append(int(row[0]))

今日,第一次使用pandas导入文件时产生了错误,第一次使用的代码如下

import pandas as pd
filename = 'aaa.csv'
df=pd.read_csv(filename)
print(df.head(5))

但出现了错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xc9 in position 0: invalid continuation byte
笔者在百度上查找,尝试过很多方法,如将csv文件的编码改为UTF-8,将代码第三行改为:df=pd.read_csv(filename, encoding=“utf-8”)等等,结果都不尽如人意。最后经高人指点,加入(encoding=“gbk”),最终成功将csv文件导入,代码如下。

import pandas as pd
filename = 'jd.csv'

df=pd.read_csv(filename, encoding="gbk")
print(df.head(5))

笔者的导入文档如下图所示
在这里插入图片描述
笔者认为,不同类型的文档,应该需要不同的编码格式,在没有指出(encoding=“gbk”)时,python默认使用utf-8对文档进行操作,因此换成(encoding=“gbk”)后,可以正确的导入数据。由于笔者使用的文件含有数字,字符,汉字,可以推测大部分文档应该都可以使用gbk编码格式,因此具有一定的参考意义。

这时笔者的第一篇博客,兴起而写,可能没有太多技术含量,但也是笔者一个上午的功夫,在这里分享给大家。希望自己将来有空多多写博客,成为一个大博主。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值