一、项目1
1、需求描述
从不同的表中读取数据,并按照不同要求写入到文档中。便于用户进行选择,通过GUI界面实现不同类型文档的书写。
2、实现
关键代码----
#首页开始代码,程序入口
import sys
import download as mw
from PyQt5 import QtWidgets as qw, QtGui
from System_Instruction import SystemInstruction
from debt_loan import WriteFunction
from finan_analy import AnalyFunction
from brochure_data import CollectFunction
class First(qw.QMainWindow):
def __init__(self):
super(First, self).__init__()
self.ui = mw.Ui_Form()
self.setWindowTitle("数据提取系统")
self.setWindowIcon(QtGui.QIcon(':/re/icon.jpg'))
self.write_functions = WriteFunction(self.ui, self)
self.analy_functions = AnalyFunction(self.ui,self)
self.write_functions = WriteFunction(self.ui, self)
self.bro_functions = CollectFunction(self.ui,self)
self.systemInstruction=SystemInstruction(self.ui,self)
# 调用Ui_setup方法动态创建控件
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.write_functions.report_write)
self.ui.pushButton_5.clicked.connect(self.analy_functions.analy_write)
self.ui.pushButton_3.clicked.connect(self.bro_functions.brochure_write)
self.ui.toolButton.clicked.connect(self.systemInstruction.system_instruct)
self.ui.toolButton_2.clicked.connect(self.systemInstruction.notice)
# 显示窗口
def main():
app = qw.QApplication(sys.argv)
w = First()
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
#主要功能代码
origin_str = month + "月末,南京市全辖金融机构(含外资金融机构,下同)本外币贷款余额为r5c3亿元,同比hfc%,较去年同期r6c0个百分点。当月本外币贷款r5c13亿元,同比r5c11亿元,比年初r5c14亿元,同比r5c12亿元。" + '\n' \
+ ' ' + month + "月末,金融机构人民币贷款余额为r5c15亿元,同比cny%,较去年同期r7c0个百分点。比上月r5c24亿元,同比r5c22亿元,比年初r5c25亿元,同比r5c23亿元。本月人民币贷款变动的原因是" + '\n' \
+ ' ' + "外币贷款略有增长。" \
+ month + "月末,南京市金融机构外币贷款余额为r5c26亿元,同比foreign%,较去年同期r7c1个百分点。比上月r6c34亿元,同比r6c32亿元,比年初r6c35亿元,同比r6c33亿元。"
# 这儿写对应要替换的值都有哪些(就写你上面设置的那些占位符),都在表格的几行几列 举例:r5c3表示要用的是表格里第5行第3列的值
change_list = ["r5c3", "r5c11", "r5c12", "r5c13", "r5c14", "hfc", "r5c15", "r5c22", "r5c23", "r5c24",
"r5c25", "cny", "r7c0", "r7c1",
"r5c26", "r6c32", "r6c33", "r6c34", "r6c35", "foreign", "r6c0"]
final_str = origin_str
for rc in change_list:
temp = eval("sheet1_" + rc) # 这一行就是取到对应的值,eval表示将这个字符串看作一个变量,也就是当时取excel值的时候起的变量名称
if isinstance(temp, float):
temp = format(temp, ".2f") # 如果取到的是浮点数的话,就先转换成字符串,并且保留两位小数
final_str = final_str.replace(rc, temp) # 这一行就是对应的把占位符(比如”r5c3“)替换成对应的变量值(比如sheet1_r5c3的值)
print(final_str)
return final_str
二、项目2
1、需求描述
从一张表格中提取特定字段数值,写入到文档中。
以上具体代码实现皆在“资源”处可以下载。
版权声明:本文为weixin_39272255原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。