Python技术、爬虫、数据分析问题汇总【自用】

记录学习过程中遇到的一些问题,纯粹为了方便自己

@解决excel中sheet为中文提示acii乱码问题
workbook = xlwt.Workbook(encoding = 'utf-8')     #encoding 引入编码
sheet = workbook.add_sheet(key,cell_overwrite_ok=True)


@python学习经验
-http://mp.weixin.qq.com/s/uLKHMaKPoetprAmdHho09A
-知识点了解了如何检验?向别人解释清楚了才算
-有效学习方法?自己造轮子或者看开源代码github
-造轮子前提是,有助于解决工作中问题、做有意义的项目

@报错提示说明

urllib2.URLError: <urlopen error [Errno 10061] >
代理问题
超时问题


@编程心得
---特殊字符% 需要用格式“2%%” 输出【2%】
---pycharm 编码格式cp936 路径均为中文
--# 关键字参数 在format()函数中,使用“{}”符号来当作格式化操作符。
print "{name} is {age} years old".format(name = "Wilber", age = 28)

@pycharm 快捷键
https://www.cnblogs.com/littleseven/p/5599019.html
--自动缩进 Ctrl + Alt + I 自动缩进
--注释 Ctrl + / 行注释

@数据库乱码

Python从Excel读取中文到mysql出现乱码
第一步:数据库那边总得把字段类型设置为utf8之类类的吧
#创建数据库
cursor.execute('create table cdl_order(order_no varchar(20),mobile varchar(20)) DEFAULT CHARSET=UTF8 TYPE=MyISAM') #设置表单类型为utf-8

mysql中两种数据库引擎
ENGINE=MyISAM
ENGINE=InnoDB

第二步:在连接数据库的时候,加个参数,说明数据库那边的字段类型一致,charset='utf8'。
database = MySQLdb.connect (host="127.0.0.1", user = "root", passwd = "root", db = "sgk",charset="utf8")

@【爬虫BS4】
如果报错FeatureNotFound: Couldn’t find a tree builder with the features you requested: html5lib. Do you need to install a parser library?

意思是缺少html5解析库,用pip安装就行:
pip install html5lib

pip install BS4

pip install lxml

如果不行直接安装exe包 : https://pypi.python.org/pypi/lxml/2.3


@【XLS写入报错】
Exception: String longer than 32767 characters
方案:xlwt 支持的最大字符限制,可以缩短字符或者采用模块openpyxl解决

@【txt文件读取】
1.大文件读取需要采用
with open() as f:
  for x in f.read():
    pass

2.读取加缓存
f.read(1024)

https://www.cnblogs.com/yu-zhang/p/5949696.html

@【Remine库】
常有某个字段无法读取,常见assigned_to 指派给为空,
字符过长无法写入xls, 常见description 字符太长超过3267字符

@【数据分析】
安装数据挖掘库
anaconda http://python.jobbole.com/86236/

常用库
pandas 数据处理
padndas 保存xls csv
colum 每栏目标题
每一竖列值 形成一个list[]
索引可以自动以 index = [ins] 按个数生成 或者 自定义

@【youtube-bl】下载youtube视频
摘自 http://blog.csdn.net/u011475134/article/details/71023612

@【Mysql】
@查看当前连接数最大值
mysqladmin -uroot -proot processlist
D:MySQLin>mysqladmin -uroot -proot processlist
@访问mysql
mysql -uroot -pxxxx
@显示当前所有连接数
show processlist;

@新增字段id 且自增

create sequence seq_a_id
minvalue 1
maxvalue 999999999999999
start with 1
increment by 1
nocache;
update a set id = seq_a_id.nextval

原文地址:https://www.cnblogs.com/aeip/p/9042453.html