履行上篇博客的诺言,我们是说说pandas的使用
pandas是一个Python的数据分析库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。
安装
pip install Pandas
数据结构
- 系列(series)
- 数据帧(DateFrame)
- 面板(panel)
我们在工作中,用pandas来把数据库导出excel表,常用到系列和数据帧,面板使用相对较少
使用
首先我们需要导入相关包
import pandas as pd
import numpy as np
现在我们尝试创建一个系列对象(series)
s = pd.series([12,23,34,np.nan,56,89])
print(s)
可以得到下图
0 12.0
1 23.0
2 34.0
3 NaN
4 56.0
5 89.0
通过传递 numpy 数组,使用 datetime 索引和标记列来创建 DataFrame
data = ['张三','李四','王五']
df = pd.DataFrame(np.random.randn(7,4), index=data, columns=list('ABCD'))
print(df)
可以得到下图
A B C D
张三
李四
王五
现在我们试着把user表导出成excel表
mysql = OptionMysql(mysql_option)
sql = "SELECT id,name,sex FROM user WHERE is_delete=0"
result = mysql.get_dic_data(sql)
在获取到数据表中的数据后,使用pandas将数据导入excel表导出
df = pd.DataFrame(columns=["id", "名字", '性别'])
# 遍历数据
for index, value in enumerate(result):
df.loc[index + 1] = {"id": value["id"], "名字": value["name"], '性别': value["sex"]}
以上操作我们就可以得到excel表啦,接下来我们可以用os来生成文件路径,这样方便我们去打开所需文件
# 生成路径
excel_name = 'excel_' + str(int(time.time()*1000))+ '.xls'
filename = os.path.join(BASE_PATH, 'static', 'download', excel_name) #生成方法,文件会处于static文件夹中的download中
wb.save(filename)