Python常见warning或error原因及解决方案

一般讲warning是不会影响取值的,可忽略,全忽略如下:

import warnings
warnings.simplefilter('ignore')
#warnings.filterwarnings(action='ignore',category=UserWarning,module='gensim')
SettingWithCopyWarning

一、原因:赋值警告,警告会改变变量自身(如给已有值变量列赋值等)。即B是从A而来,改B值和可能也会改A,所以会报警
例如:

c9_1=c9_0[c9_0['websitemain']>=2].copy() # 因c9_1来自于c9_0,而非新建,所以当没有copy下面更改其值(添加列,修改列值等)会报错
c9_1.columns=['Times']  # 用于识别是一类网页,主网址出现次数
c9_1.index.name='websitemain'
c9_1['num']=np.arange(1,len(c9_1)+1) #此处可能会报错,因修改c9_1可能会涉及c9_0

一、解决办法:新建接收变量,不更改变量自身

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa3 in position 34: illegal multibyte sequence

二、原因:源文件字符编码格式非Python编码环境UTF-8格式,导致不兼容
二、解决办法:

1、将源文件字符编码格式调整为UTF-8即可;
2、with open(inputfile1,'r',encoding='UTF-8') as data1: #with方法,自动关闭
       data1 = pd.read_csv(data1,header = None) #读入数据

中文文件名读取fail

OSError: Initializing from file failed

三、原因:read_csv()读取带中文名txt,报错
三、解决办法:f = open(‘我的文件.csv’);res = pd.read_csv(f)或者文件名改英文

【待续】

你可能感兴趣的:(Python)