import pandas as pd
import pymysql
class DataBase(object):
def __init__(self,name,password):
# 创建数据库连接
self.conn = pymysql.connect('localhost','root',str(password),str(name),charset='utf8mb4')
# 创建cursor对象
self.cursor = self.conn.cursor()
def __enter__(self):
return self.cursor # 返回cursor对象,且这个cursor对象会被赋给with语句中as后面的变量
def __exit__(self,exc_type,exc_value,traceback):
self.cursor.close() # 关闭游标对象
self.conn.close() # 断开数据库连接
def main():
with DataBase('mysql',123456) as db:
db.execute("select help_topic_id,help_keyword_id from help_relation") # 执行sql语句
content = db.fetchall() # 获取数据(db中保存着查询结果集)
df = pd.DataFrame(list(content)) # 将从数据库中查询出的数据放入DataFrame对象中
return df
if __name__ == '__main__':
df = main()
new_cols = ['host','user']
df.columns = new_cols
print(df.head(20))
运行成功: