1 Excel
1.1 shift快速选区域
选择矩形区域时,点击左上顶点,按住shift,点击右下顶点
1.2 改变图表坐标轴
1.3 数字特别大的时候用文本存储
数字特别大时 16位(具体不知道多大 大概)以上的数字 末尾会自动存成0,所以用文本形式
1.4 折线图中多个折线
2 Python
2.1 字典的value是list时怎么往list中增元素
#字典mydict 把元素x添加到key的list中
mydict={}
mydict.setdefault(key,[]).append(x)
2.2 pandas的dataframe多列排序
df=df.sort_values(['class','score'],ascending=[True,False])
#按照class升序 score降序 排列
2.3 读取excel加上sheetname
data = pd.DataFrame(pd.read_excel(path,sheet_name=sheetname,encoding='utf-8'))
2.4 读取excel的多个sheet并合并
alldata=pd.concat([alldata,data],axis=0,ignore_index=True)
2.5 dataframe中NaN类型是float
判断是否是NaN用 math.isnan(x) 但是这个前提是x是float类型,对于字符型的x不适用;
某一列是字符,避免NaN,可以用 if(isinstance(x,str)),选出是字符类型的列;
2.6 时间戳、字符型互相转化
# 将2019/10/22这种字符串形式转化为int的时间戳
t1 = time.strptime(t_str, "%Y/%m/%d")
t1 = int(time.mktime(t1))
# 将int类型的时间戳t2 转化为 2019-10-22字符型
t2= time.strftime("%Y-%m-%d",time.localtime(int(t2)))
2.7 字典知道键获取值
need_value=mydict.get(key)
#直接用mydict[key] 万一key不在 会出现错误
#遍历字典
for key,value in mydict.items():
print(str(key)+':'+str(value))
2.8 matplotlib坐标轴中文无法显示
matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
matplotlib.rcParams['font.serif'] = ['KaiTi']
2.9 list反序排列
mylist[::-1]
2.10 dataframe新增一列0【生成n长度 0的list】
df['新增列']=[0]*df.shape[0]
#shape[0]是dataframe的行数
2.11 写excel多个sheet时用writer
writer=pd.ExcelWriter(path)
data1.to_excel(excel_writer=writer,sheet_name=sheetname1,index=False)
data2.to_excel(excel_writer=writer,sheet_name=sheetname2,index=False)
data3.to_excel(excel_writer=writer,sheet_name=sheetname3,index=False)
writer.save()
writer.close()
2.12 判断某个字符是否能转化成字典
# 判断能否转化成字典【从某位博主搬来的 但是忘了是哪个博主了。。】
def is_dict(log_content):
try:
eval(log_content)
except SyntaxError:
return False
return True
if(is_dict(mystr)):
mydict=eval(mystr)
2.13 dataframe修改某一列的数据类型
mdata[['列名']] = mdata[['列名']].astype(str)
3 Mysql
3.1 数据量大的时候分页查询LIMIT
limit m,n 从索引m开始 取n个数据
比如86666条数据一次查询不出来,分批次查询
(1)select *
from A
limit 0,10000
(2)select *
from A
limit 10000,10000
(3)select *
from A
limit 20000,10000
。。。
select * from table limit (页码-1)*Size,Size
3.2 脚本查询数据库
由于查询数据量大时总会断开,还有mycat中间件不能与其他表自然连接
所以最重要的是编写程序查询数据库【不知道能不能多线程查询?后续再尝试】