今天算是我第一次进行Python 静心的学习过程了。
拿到隧道的数据 拷贝一下 我擦30多G 很是happy 看来可以在 故障检测上面的 有点进展了。
进入正题:
首先想要读取.CSV 文件,看到pandas模块有直接读取的操作read_csv()函数。虽然印象中Python中好像内置有open() ,read()等等函数,但是呃呃 我是渣渣 实在记不得怎么用。。。。。。
于是很开心的给了一句
pd.read_csv(‘D:/AAProject/data/west/1/2012101100_2012101123.csv’)
悲剧了。。。。报错
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb1 in position 0: invalid start byte
赶紧找度娘。。
度娘说。。啊 这种情况吧 你要。。。
【
import sys
import imp
imp.reload(sys)
sys.setdefaultencoding(‘utf-8’)
】—说是 改变Python解释器的编码方式,默认是Unicode 要该为 utf-8
然并卵啊,AttributeError: module ‘sys’ has no attribute ‘setdefaultencoding’
就是 告诉我sys里面 没有这个方法呗。要是想当年 出现这种情况,,,我直接做系统了。。。。
淡定。重新百度。。。。
因为我的源文件数据里确实有汉字 所以很可能‘GBK’编码呗。那就看看pandas 的read_csv()函数里面有没有规定编码方式的参数控制呗,重要发现还是有参数进行控制的,小菜在这里给出语句
pd.read_csv(‘D:/AAProject/data/west/1/2012101100_2012101123.csv’,encoding=”gbk”,skiprows=[1])
至此 问题完美解决。
—–涉及ETL、Python、java、D3、机器学习为目标的研一小菜鸟