
这么具体的问题,找通用demo很难啊,个人觉得问题的难点不在Python。
1 获取什么服务器性能数据和如何获取,可以请教公司内部运维。
2 获取什么数据库性能数据和如何获取,可以请教公司内部DBA。
3 以上两点搞定了,才能确定临时数据存储结构和最终数据库表结构。
以上三点是关键,Python的事情就简单多了,提供一种思路:一分钟一次,实时性不高,每台服务器用cron部署一个apy,用于获取性能数据,在某一台服务器有一个bpy,负责获取所有服务器apy产生的数据,然后写入数据库;apy如何上报到bpy取决于你擅长什么,如果熟悉网络编程,用apy做客户端上报到服务端bpy,如果熟悉shell的文件同步(如rsync),apy只写本地文件,bpy调用csh(封装rsync)拉取远程文件。
本文Python *** 作 MySQL 数据库需要是使用到 PyMySQL 驱动
Python *** 作 MySQL 前提是要安装好 MySQL 数据库并能正常连接使用,安装步骤详见下文。
注意: 安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。
首先需要先下载 MySQL 安装包, 官网下载地址 下载对应版本即可,或直接在网上拉取并安装:
权限设置:
初始化 MySQL:
启动 MySQL:
查看 MySQL 运行状态:
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
登陆:
创建数据库:
查看数据库:
PyMySQL 模块使用 pip命令进行安装:
假如系统不支持 pip 命令,可以使用以下方式安装:
pymysql connect 函数:连接上数据库
输出结果显示如下:表面数据库连接成功
使用 pymysql 的 connect() 方法连接数据库,connect 参数解释如下:
conncursor():获取游标
如果要 *** 作数据库,光连接数据是不够的,咱们必须拿到 *** 作数据库的游标,才能进行后续的 *** 作,游标的主要作用是用来接收数据库 *** 作后的返回结果,比如读取数据、添加数据。通过获取到的数据库连接实例 conn 下的 cursor() 方法来创建游标,实例如下:
输出结果为:
cursor 返回一个游标实例对象,其中包含了很多 *** 作数据的方法,如执行sql语句,sql 执行命令: execute() 和 executemany()
execute(query,args=None):
executemany(query,args=None):
其他游标对象如下表:
完整数据库连接 *** 作实例如下:
以上结果输出为:
创建表代码如下:
如下所示数据库表创建成功:
插入数据实现代码:
插入数据结果:
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
查询数据代码如下:
输出结果:
DB API中定义了一些数据库 *** 作的错误及异常,下表列出了这些错误和异常:
本文给大家介绍 Python 如何连接 Mysql 进行数据的增删改查 *** 作,文章通过简洁的代码方式进行示例演示,给使用 Python *** 作 Mysql 的工程师提供支撑。
select
bug_type,bug_severity,count(bug_type),ft_id
from
tm_bug
group
by
ft_id,bug_type,bug_severity
查找表
tm_bug
,字段1名称为(bug_type),字段2名称为(bug_severity),字段3名称为(ft_id),行数,,以为具有相同字段的ft_id,bug_type,bug_severity进行分组,
我只能帮你翻译一下这个
sql语句了,你其他我不知道不全
pandas是python环境下最有名的数据统计包,而DataFrame翻译为数据框,是一种数据组织方式,这么说你可能无法从感性上认识它,举个例子,你大概用过Excel,而它也是一种数据组织和呈现的方式,简单说就是表格,而在在pandas中用DataFrame组织数据,如果你不print DataFrame,你看不到这些数据,下面我们来看看DataFrame是如何使用的。
首先是引入pandas和numpy,这是经常配合使用的两个包,pandas依赖于numpy,引入以后我们可以直接使用np/pd来表示这个两个模块
先创建一个时间索引,所谓的索引(index)就是每一行数据的id,可以标识每一行的唯一值
为了快速入门,我们看一下如何创建一个6X4的数据:randn函数用于创建随机数,参数表示行数和列数,dates是上一步创建的索引列
我们还可以使用字典来创建数据框,例如创建一个列名为A的数据框,索引是自动创建的整数
这又是一个字典创建DataFrame的例子
假如字典内的数据长度不同,以最长的数据为准,比如B列有4行:
可以使用dtypes来查看各行的数据格式
接着看一下如何查看数据框中的数据,看一下所有的数据
使用head查看前几行数据(默认是前5行),不过你可以指定前几行
查看前三行数据
使用tail查看后5行数据
查看数据框的索引
查看列名用columns
查看数据值,用values
查看描述性统计,用describe
使用type看一下输出的描述性统计是什么样的数据类型——DataFrame数据
使用T来转置数据,也就是行列转换
对数据进行排序,用到了sort,参数可以指定根据哪一列数据进行排序。
好了,这篇入门教程到这里,后面还有很多,希望有志同道合的朋友一起交流学习,有什么说的不对的地方,请批评指正。
我写了个例子 Python3
1
2
3
4
5
6
import MySQLdb
db = MySQLdbconnect(host="localhost",user="root", passwd="sorry",db="test")
c=dbcursor()
cexecute("""SELECT COUNT() FROM emp""")
print (cfetchone())
我常用pymssql连接M$SQL服务器, 没用过pyodbc, 但按理应该都差不多。
若用pymssql, 从数据库中取数据的过程如下:
import pymssql
connect_setting = {
'host': '127001',
'user': 'sa',
'password': '',
'database': 'master',
'charset': 'gb18030'
}
conn = pymssqlconnect(connect_setting)
curr = conncursor()
currexecute("select list, name from nlist")
result = [(lst, name) for lst, name in curr]
currclose()
connclose()
关于"如何查询,list的每个值在数据库中对应的Name“
若库表中的数据像下面的样子:
id, name:
1, 'python'
2, 'perl'
3, 'c'
4, 'java'
且每行id是唯一值, 将从数据库表中拿到的数据放到一个字典中:
currexecute("select id, name from nlist")
dd = dict([(id, name) for id, name in curr])
lst = [1,2,3,4,5,6]
用dd进行转换
[(i, ddget(i)) for i in lst]
==>
[(1, 'python'), (2, 'perl'), (3, 'c'), (4, 'java'), (5, None), (6, None)]
or
[ddget(i, i) for i in lst]
==>
['python', 'perl', 'c', 'java', 5, 6]
以上就是关于python怎样收集数据全部的内容,包括:python怎样收集数据、掌握Python *** 作 MySQL 数据库、python中 怎样将从数据库中取出的数据,赋值给DataFrame,并标明列名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)