前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python : jdbc 连接 h2数据库,pandas 绘基金净值图

python : jdbc 连接 h2数据库,pandas 绘基金净值图

作者头像
stys35
发布2019-11-01 15:05:11
9550
发布2019-11-01 15:05:11
举报
文章被收录于专栏:工作笔记精华工作笔记精华

python 2.7 使用jdbc连接数据库,要用到 JayDeBeApi 包,JayDeBeApi 包依赖 JPype1 包.

pip install JayDeBeApi

jdbc 连接 h2数据库,绘基金净值图,h2_jdbc_mpl.py

代码语言:javascript
复制
# -*- coding: cp936 -*-
import os, sys
import jaydebeapi
 
if len(sys.argv)==2:
    fund1 = sys.argv[1]
else:
    print ' usage: h2_jdbc_mpl.py fundcode'
    sys.exit(4)
 
if not ( fund1.isdigit() and len(fund1)==6):
    print ' fundcode is 6 位数字.'
    sys.exit(4)
 
url ='jdbc:h2:tcp://localhost/~/test'
user ='sa'
password =''
dirver ='org.h2.Driver'
jar ='/H2/bin/h2-1.3.jar'
##jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs)
conn =jaydebeapi.connect(dirver,url,[user,password],jar)
curs = conn.cursor()
 
select ="select MC from JJMC where DM=" + fund1
curs.execute(select)
fundname = curs.fetchall()
#print(fundname)
 
import pandas as pd
import pandas.io.sql as psql
 
query ="select RQ,JZ from JJJZ where DM=%s order by 1" % (fund1)
# dataFrame
df = psql.read_sql_query(query,conn)
 
curs.close()
conn.close()
 
import matplotlib.pyplot as plt
# 加这个两句 可以显示中文
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False
 
fname = fund1 + fundname[0][0] # 基金代码 + 基金名称 
# 基金净值绘图
df['JZ'].plot(figsize=(12,6), grid=True, title=fname)
# 画30日移动平均线  
pd.rolling_mean(df['JZ'], 30).plot(grid=True)
plt.show()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档