# -*- coding: cp936 -*-

#coding: cp936

import xlrd #导入xlsx文档

import openpyxl

import copy

import re

pattern = re.compile(r'[A-Z]*')

bd = openpyxl.load_workbook('E:\\360MoveData\\Users\\ZCF!\\Desktop\\py\\贯标装数模板4-人员.xlsx')

zidian = openpyxl.load_workbook('E:\\360MoveData\\Users\\ZCF!\\Desktop\\py\\数据字典说明(最新).xlsx')

# 创建xlsx

mySheet = bd.create_sheet("")

# 获取所有表单名称

xl_sheet_names=bd.get_sheet_names()

xl_sheet_namesLength = len(xl_sheet_names)

dictionary = {}

dictionaryson = {}

zidiandemo = zidian.active

# 遍历数据项编号

dict = {}

j = 2

Current = ""

while j

upper = "A"

uppertwo = "F"

upper+=str(j)

uppertwo+=str(j)

j+=1

# 获取数据字典所以的数据项

# dictionary['%s' % ws]['%s' % strr] = "%s" % ws.cell(row=2, column=i).value

if  (not zidiandemo['%s'%upper].value is None):

dict['%s'%zidiandemo['%s'%upper].value] = "%s" %zidiandemo['%s'%uppertwo].value

Current = "%s"%zidiandemo['%s'%upper].value

elif zidiandemo['%s'%upper].value is None :

Currentnow = dict.get('%s'%Current)

del dict['%s'%Current]

dict['%s'%Current] ="%s" %(Currentnow+'/'+zidiandemo['%s'%uppertwo].value)

# 获取表单为""的内容

for t in range(0,xl_sheet_namesLength-1):

ws = bd.get_sheet_by_name(xl_sheet_names[t])

dictionary['%s' % ws] = { }

# 获取文档内容

# ws = bd.active

character = []

for i in range(1, ws.max_column+1):

did1 = []

did2 = []

if (not ws.cell(row=2,column=i).value is None):

did1.append('%s'%ws.cell(row=2,column=i).value)

for did in did1:

if did.find("参考数据字典")!=-1 or did.find("A.")!=-1 or (did.find("B."))!=-1:

strr = ""

if 64+i

strr+=chr(64+i)

if 90

strr+=chr(65)

strr+=chr(i+38)

if 90*2

strr += chr(66)

strr += chr(i+74)

strr+=str(2)

dictionary['%s'%ws]['%s'%strr]="%s"% ws.cell(row=2, column=i).value

dictionaryson = {}

dictionaryson = copy.deepcopy(dictionary)

for key,value in dictionary.items():

for key1,value1 in value.items():

for i in dict:

if value1.find("%s"%i)!=-1:

value['%s'%key1] = '%s'%dict[i]

for t in range(0,xl_sheet_namesLength-1):

ws = bd.get_sheet_by_name('%s' % xl_sheet_names[t])

ws.insert_rows(5)

dictionarydemo = dictionary['%s'%ws]

dictionarysondemo = dictionaryson['%s'%ws]

for key, value in dictionarydemo.items():

ws['%s'%key] = '%s'%value

key2 = pattern.findall('%s'%key)

key2 = key2[0]

key2+=str(4)

ws['%s'%key2] = '%s'%dictionarysondemo['%s'%key]

bd.save(r'E:\360MoveData\Users\ZCF!\Desktop\py\3.xlsx')

print("Ok")

python数据字典排序_Python自动处理数据字典(Python是3.6版本)相关推荐

  1. python set 排序_python set 排序_如何在Python中使用sorted()和sort()

    点击"蓝字"关注我们 ?"Python基础知识" 大卫·丰达科夫斯基  著 18财税3班 李潇潇    译 日期:2019年5月6日 一. 使用sorted() ...

  2. python 列表排序_python列表排序有哪些

    python列表排序:1.冒泡排序,是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来:2.插入排序,通过构建有序序列,对于未排序数据,在已排序序列中 ...

  3. python数字排序_python数字排序

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 例如,你想要按照名字来对一列团队成员名单进行排序,或者想按照优先级来对一列项目进 ...

  4. python结构排序_Python数据结构(七)排序算法 上

    Python数据结构(七)排序算法 上 上回: 本文的重点不是代码,而是带着大家分析每一个排序算法背后的思想以及使用到的数据结构.很多时候不是我们想不出算法该如何去写,而是题目并没有指定特定的数据结构 ...

  5. python list排序_Python中字符串List按照长度排序

    下面看下字符串List按照长度排序(python)的实现方法 myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区'] 1.首先得到每个字符串长度 ...

  6. python 拓扑排序_Python 拓扑排序

    Python 拓扑排序 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G) ...

  7. python十六进制排序_python十六进制

    进制转换 | 手把手教你入门Python之十七 上一篇:如何获取用户的输入 | 手把手教你入门Python之十六下一篇:详解4种类型转换 | 手把手教你入门Python之十八 本文来自于千锋教育在阿里 ...

  8. python的使用说明_Python教程:Python中__init__.py的使用用法说明

    Python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...

  9. python 函数修饰_python修饰函数 python 函数有多个修饰符

    define的意思,用来定义函数. 如: def 函数名(参数1, 参数2, --, 参数N): 执行语句 # 例:简单的函数使用# 定义函数def hello(): print 'hello pyt ...

最新文章

  1. 重磅 ! Redis+Nginx+JVM+设计模式+Spring全家桶+Dubbo
  2. 番茄工作法:番茄时间管理方法与番茄工作法软件图解提高工作效率
  3. 2021年春季学期-信号与系统-第十一次作业参考答案-第一小题
  4. 使用Flask_SQLAlchemy连接多个数据库
  5. Spring注解Annotation
  6. 侍魂胧月传说显示服务器未开启,侍魂胧月传说为什么进不去 侍魂胧月传说进不去的原因...
  7. Enterprise Library 企业库 向Oracle数据库中 写日志的 存储过程
  8. 使用Tomcat配置域名
  9. vscode编译器添加c++万能头文件
  10. Mathematic的学习打卡day 8
  11. PWM整流器仿真。 在simulink中搭建了PWM整流器,采用电压电流双闭环控制,实现了网侧电压与电流同相位,单位功率因数运行
  12. jquery手写轮播图_用jquery实现图片轮播怎么写呢求指教
  13. nginx-rtmp 的部署
  14. php内核邮件群发管理系统源码
  15. k8s集群配置域名证书支持https与http
  16. HTML 六十二 实例
  17. 股市小白必看!能获取股票数据的编程语言:Python带你看懂股市线
  18. 贪心算法之活动安排问题(填表详解+思路解析)
  19. ERP之发票处理的技巧
  20. 【综述笔记】 A survey of automatic generation of source code comments Algorithms and techniques

热门文章

  1. python函数递归求和详解_Python 递归函数详解及实例
  2. mysql django构架图_Django框架之数据库ORM框架
  3. 如何安装mysql5.7.15_ubuntu16.04安装mysql5.7.15
  4. matlab gul介绍及串口通信实现,Matlab - GUl介绍及串口通信实现(转)
  5. mysql pk_mysql_1
  6. 多分类问题的另一种处理策略——softmax回归
  7. 剑指offer全书题解 (Python)【更新完毕】
  8. 区块链和数据科学:如果同时应用这两种技术,将会实现什么?
  9. 小程序 — 保存图片到手机相册①
  10. 基于ConvLSTM的伦敦空气质量预测(2) 算法实施