Python报错问题处理及sql小技巧

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TheLittlePython/article/details/78663079

 

 1. csv问题

1.1 pandas读取CSV文件报错:

报错信息:pandas.errors.ParserError: Error tokenizing data. C error: Expected 4 fields in line 26, saw 6
解决:打开后另存为一下

1.2 CSV打开乱码

解决:记事本等工具打开后另存为,修改编码ANSI

1.3 编码错误

解决:to_csv()方法的encoding参数默认为"gbk",而read_csv()方法的encoding参数默认为"utf-8"

1.4 csv文件名带中括号报错问题

解决:去除中括号

1.5 to_excel后数据出现科学计数法

解决:令col1=col1.astype('str')

2. Python安装包出现的问题

2.1 导入scipy报错

报错:ImportError: cannot import name NUMPY_MKL

解决: 安装新版本numpy+mkl

2.2 selenium.common.exceptions.WebDriverException

 报错:Message: Service chromedriver.exe unexpectedly exited. Status code was: 1

 解决:在路径中,加入Chromedriver    http://chromedriver.storage.googleapis.com/index.html?path=2.30/

2.3 爬虫

报错:urllib2.URLError: <urlopen error [Errno 10061] >

解决方法:打开IE浏览器,依次选择 工具——Internet选项——连接——局域网设置,取消代理服务器复选框

动态加载问题解决:

http://phantomjs.org/ 安装后

from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='D:\phantomjs-2.1.1-windows/bin\phantomjs.exe')
driver.get(url)

3. 空值报错问题

3.1 None 错误-ValueError

报错:None 错误-ValueError: (u'Unknown string format:', 'None')

解决:逐列进行修改——df['ex_time'] = df['ex_time'].replace({'None': np.NaN})

3.2  SVD did not converge

报错:numpy.linalg.linalg.LinAlgError: SVD did not converge

解决:可能存在空值导致,dropna()后正常运行

4 数据处理问题

4.1 数据框每行转为一个元组

解决:zip函数

4.2 pandas 

解决:df[func1 & fun2] 需要给function1,2加上括号

4.3 使用pivot_table或者groupby函数为的结果显示问题

解决:可使用pandas再次转为数据框处理

4.4 空值(NaN)处理

#选择任意一行出现空值的数据df[df.T.isnull().any()]

#选择任意一行出现空值的数据df[df.isnull().values]

#选择任意一行都没出现空的数据df[~df.T.isnull().any()]

5. Oracle数据处理

5.1 时间函数

5.1.1.1 返回星期几

一般从周日算第一天,使用to_char(日期,'d')返回第几天,周末为1和7

5.1.1.2 返回每月第几天

没找到固定函数,直接将进行了截取,反倒简单方便

substr(TO_CHAR(date,'yyyymmdd'),7,2)

5.1.2 返回小时、天等数值

extract(day from sysdate)

5.1.3 剔除一段时间内不需要的时间点

date not in (TO_DATE('20180416','YYYYMMDD'),TO_DATE('20180421','YYYYMMDD '))

猜你喜欢

转载自blog.csdn.net/TheLittlePython/article/details/78663079