#!/usr/bin/env python # -*- coding: utf-8 -*- import time from matplotlib.finance import quotes_historical_yahoo_ochl from datetime import date from datetime import datetime import pandas as pd import matplotlib.pyplot as plt import ch ch.set_ch() __author__ = 'wangjj' __mtime__ = '20161023下午 10:11' start = datetime(2015, 1, 1) end = datetime(2015, 12, 31) quotes = quotes_historical_yahoo_ochl('MSFT', start, end) fields = ['date', 'open', 'close', 'high', 'low', 'volume'] list1 = [] list2 = [] for i in range(0, len(quotes)): x = date.fromordinal(int(quotes[i][0])) y = datetime.strftime(x, '%y/%m/%d') list1.append(y) list2.append(x.month) # print(list1) quotes_of_MSFT = pd.DataFrame(quotes, index=list1, columns=fields) quotes_of_MSFT = quotes_of_MSFT.drop(['date'], axis=1) quotes_of_MSFT['month'] = list2 # print(quotes_of_MSFT) open_MSFT = quotes_of_MSFT.groupby('month').mean().open print open_MSFT, open_MSFT.index list_open = []
# coding=utf-8 from PyQt5.QtWidgets import QSizePolicy from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure import ch ch.set_ch() # 设置unicode编码中文显示,ch.py位于Lib文件夹 class PPG_handle(FigureCanvas): def __init__(self, x_list, y_list, parent=None): self.x = x_list self.y = y_list self.fig = Figure() self.fig.suptitle(u"电量描点绘图", fontsize=14).set_color("g") self.axes = self.fig.add_subplot(111) self.axes.set_autoscale_on(False) self.axes.set_xlabel(u"时间(30min)", fontsize=14).set_color("g") self.axes.set_ylabel(u"电量百分比", fontsize=14).set_color("g") self.axes.grid(False) self.compute_initial_figure(self.x, self.y) FigureCanvas.__init__(self, self.fig) self.setParent(parent) FigureCanvas.setSizePolicy(self, QSizePolicy.Expanding, QSizePolicy.Expanding) FigureCanvas.updateGeometry(self) def compute_initial_figure(self): pass
# -*-coding:utf-8-*- import ch import data2matrix as d2m import numpy as np import dict_op import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D ch.set_ch() # matplotlib Chinese data = d2m.data2matrix('data.txt', '\t') data[:, 0] *= 2 out = [1, 3, 8] # the out points index count from 1 out = [i - 1 for i in out] dists = {} N, D = data.shape inlist = [] for i in range(N): if i not in out: inlist.append(i) for i in inlist: for j in inlist: dists[(i, j)] = np.sqrt(np.sum((data[i] - data[j])**2)) sortlist = dict_op.sort_dict_by_value(dists) i, j = sortlist[0] circle_centre = (data[i] + data[j]) / 2 circle_radius = dists[(i, j)] / 2 print 'circle_centre = ', circle_centre print 'circle_radius = %f' % circle_radius
# -*-coding:utf-8-*- import ch import data2matrix as d2m import numpy as np import dict_op import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D ch.set_ch() # matplotlib Chinese data = d2m.data2matrix('data.txt', '\t') data[:, 0] *= 2 out = [1, 3, 8] # the out points index count from 1 out = [i - 1 for i in out] dists = {} N, D = data.shape inlist = [] for i in range(N): if i not in out: inlist.append(i) for i in inlist: for j in inlist: dists[(i, j)] = np.sqrt(np.sum((data[i] - data[j]) ** 2)) sortlist = dict_op.sort_dict_by_value(dists) i, j = sortlist[0] circle_centre = (data[i] + data[j]) / 2 circle_radius = dists[(i, j)] / 2 print 'circle_centre = ', circle_centre print 'circle_radius = %f' % circle_radius
def main(self,file_name): ch.set_ch() nowtime = time.strftime("%Y%m%d", time.localtime()) # now_time = datetime.datetime.now() # yes_time = now_time + datetime.timedelta(days=-1) # yes_time = yes_time.strftime('%Y%m%d') # today = '20170329' if not self.today: self.today = nowtime today = self.today print today # print yes_time self.document.add_heading(today + u'正负面计算验证', 0) # 医疗文字书写doc sql = '''select * from b_pn_work_jjx WHERE CURPOSNAME = "%s" AND CALINDUSTRY = "3"'''%today self.mysql_cursor.execute(sql) try: result = self.mysql_cursor.fetchall()[0] # print result except: msg_box = QMessageBox(QMessageBox.Warning, u"提示", u"该天无数据") msg_box.show() qe = QEventLoop() # 阻塞 qe.exec_() return number = result[1] number = int(number) - 2 # print number, type(number) number = str(number) self.document.add_heading(number + u'医疗正负面验证', 1) divide = re.search(u'(^.*?中性:\d+)[\s\S](.*?)[\s\S](人工负面-机器正面:\d+ 比例:\d+.\d+)[\s\S](人工[\s\S]*?)[\s\S](人工[\s\S]*?)[\s\S](改进秘书判断:)[\s\S](人工负面-机器正面:\d+ 比例:\d+.\d+)[\s\S](人工[\s\S]*?)[\s\S](人工[\s\S]*?)[\s\S](改进判断整体准确率[\S\s]*?)[\s\S](准确率=[\s\S]*?\+准确率\))',result[-1]) if divide: print divide.group(1),'********',divide.group(2),'******',divide.group(3),'******',divide.group(4),'******',divide.group(5),'******',divide.group(6),'******',divide.group(7),'******',divide.group(8),'******',divide.group(9),'******',divide.group(10),'******',divide.group(11) content1 = divide.group(1) content2 = divide.group(2) content3 = divide.group(3) content4 = divide.group(4) content5 = divide.group(5) content6 = divide.group(6) content7 = divide.group(7) content8 = divide.group(8) content9 = divide.group(9) content10 = divide.group(10) content11 = divide.group(11) write1 = self.document.add_paragraph() run = write1.add_run(content1).bold = True write6 = self.document.add_paragraph() write6 = write6.add_run(content6) write6.font.name = 'Estrangelo Edessa' write6.font.size = Pt(10) write6.font.color.rgb = RGBColor(0,0,255) write7 = self.document.add_paragraph() write7 = write7.add_run(content7) write7.font.name = 'Estrangelo Edessa' write7.font.size = Pt(12) write8 = self.document.add_paragraph() write8 = write8.add_run(content8) write8.font.name = 'Estrangelo Edessa' write8.font.size = Pt(12) write8.font.color.rgb = RGBColor(220,20,60) write9 = self.document.add_paragraph() write9 = write9.add_run(content9) write9.font.name = 'Estrangelo Edessa' write9.font.size = Pt(12) write10 = self.document.add_paragraph() write10 = write10.add_run(content10) write10.font.name = 'Estrangelo Edessa' write10.font.size = Pt(12) write10.font.color.rgb = RGBColor(220,20,60) write11 = self.document.add_paragraph() write11 = write11.add_run(content11) write11.font.name = 'Estrangelo Edessa' write11.font.size = Pt(12) # 政府文字书写doc sql = '''select * from b_pn_work_jjx WHERE CURPOSNAME = "%s" AND CALINDUSTRY = "1"'''%today self.mysql_cursor.execute(sql) result = self.mysql_cursor.fetchall()[0] # print result number = result[1] number = int(number) - 2 # print number, type(number) number = str(number) self.document.add_heading(number + u'政府正负面验证', 1) print result[-1] divide = re.search(u'(^.*?中性:\d+)[\s\S](.*?)[\s\S](人工负面-机器正面:\d+ 比例:\d+.\d+)[\s\S](人工[\s\S]*?)[\s\S](人工[\s\S]*?)[\s\S](改进秘书判断:)[\s\S](人工负面-机器正面:\d+ 比例:\d+.\d+)[\s\S](人工[\s\S]*?)[\s\S](人工[\s\S]*?)[\s\S](改进判断整体准确率[\S\s]*?)[\s\S](准确率=[\s\S]*?\+准确率\))',result[-1]) if divide: print divide.group(1),'********',divide.group(2),'******',divide.group(3),'******',divide.group(4),'******',divide.group(5),'******',divide.group(6),'******',divide.group(7),'******',divide.group(8),'******',divide.group(9),'******',divide.group(10),'******',divide.group(11) content1 = divide.group(1) content2 = divide.group(2) content3 = divide.group(3) content4 = divide.group(4) content5 = divide.group(5) content6 = divide.group(6) content7 = divide.group(7) content8 = divide.group(8) content9 = divide.group(9) content10 = divide.group(10) content11 = divide.group(11) write1 = self.document.add_paragraph() run = write1.add_run(content1).bold = True write6 = self.document.add_paragraph() write6 = write6.add_run(content6) write6.font.name = 'Estrangelo Edessa' write6.font.size = Pt(12) write6.font.color.rgb = RGBColor(0,0,255) write7 = self.document.add_paragraph() write7 = write7.add_run(content7) write7.font.name = 'Estrangelo Edessa' write7.font.size = Pt(12) write8 = self.document.add_paragraph() write8 = write8.add_run(content8) write8.font.name = 'Estrangelo Edessa' write8.font.size = Pt(12) write8.font.color.rgb = RGBColor(220,20,60) write9 = self.document.add_paragraph() write9 = write9.add_run(content9) write9.font.name = 'Estrangelo Edessa' write9.font.size = Pt(12) write10 = self.document.add_paragraph() write10 = write10.add_run(content10) write10.font.name = 'Estrangelo Edessa' write10.font.size = Pt(12) write10.font.color.rgb = RGBColor(220,20,60) write11 = self.document.add_paragraph() write11 = write11.add_run(content11) write11.font.name = 'Estrangelo Edessa' write11.font.size = Pt(12) result = self.get_all() # draw_pic1(result) self.draw_pic2(result) # draw_pic3(result) self.draw_pic4(result) # draw_pic5(result) self.draw_pic6(result) name = '%s.docx'%today self.document.save(name) print sys.path[0],'************',file_name shutil.move(sys.path[0]+'\\'+name,file_name+'\\'+name) os.remove(sys.path[0] + '\\2.png') os.remove(sys.path[0] + '\\4.png') os.remove(sys.path[0] + '\\6.png') return