数据表

代码

  1 import pandas as pd
2 import pymysql
3
4
5 def get_subject_1992():
6 res={}
7 the_former_code = ""
8 layer1_code = "" # 一位
9 layer1_name = ""
10 layer2_code = "" # 三位
11 layer2_name = "" # 三位
12 layer3_code = "" # 五位
13 layer3_name = ""
14 layer4_code = "" # 七位
15 layer4_name = "" # 七位
16 df = pd.read_excel("std_subject_1992.xlsx")
17 for i in range(len(df.values)):
18 item=df.values[i]
19 # print(item[0],item[1])
20 if (len(str(item[0])) == 1):
21 layer1_code = str(item[0])
22 layer1_name = item[1]
23 # print(layer1_code,layer1_name)
24 if (len(str(item[0])) == 3):
25 layer2_code = str(item[0])
26 layer2_name = item[1]
27 # print(layer2_code, layer2_name)
28 if (len(str(item[0])) == 5):
29 layer3_code = str(item[0])
30 layer3_name = item[1]
31 if(i!=(len(df.values)-1)):
32 if(len(str(df.values[i+1][0]))!=7):
33 # print(layer1_code + layer3_code,layer1_name + "·" + layer2_name + "·" +layer3_name)
34 res.update({layer1_code + layer3_code+"00":layer1_name + "·" + layer2_name + "·" +layer3_name})
35 # print(layer3_code, layer3_name)
36 if (len(str(item[0])) == 6):
37 layer4_code = str(item[0])+"0"
38 layer4_name = item[1]
39 # print(layer4_code, layer4_name)
40 if (layer4_code[:5] == layer3_code):
41 # print(layer1_code + layer4_code,layer1_name + "·" + layer2_name + "·" + layer3_name + "·" + layer4_name)
42 res.update({layer1_code + layer4_code:layer1_name + "·" + layer2_name + "·" + layer3_name + "·" + layer4_name})
43 if (len(str(item[0])) == 7):
44 layer4_code = str(item[0])
45 layer4_name = item[1]
46 # print(layer4_code, layer4_name)
47 if (layer4_code[:5] == layer3_code):
48 # print(layer1_code + layer4_code,layer1_name + "·" + layer2_name + "·" + layer3_name + "·" + layer4_name)
49 res.update({layer1_code + layer4_code:layer1_name + "·" + layer2_name + "·" + layer3_name + "·" + layer4_name})
50 return res
51
52 """
53 ---------------------------------------------------------------------------------------
54 """
55 def get_subject_2009():
56 res={}
57 the_former_code = ""
58 layer1_code = "" # 一位
59 layer1_name = ""
60 layer2_code = "" # 三位
61 layer2_name = "" # 三位
62 layer3_code = "" # 五位
63 layer3_name = ""
64 layer4_code = "" # 七位
65 layer4_name = "" # 七位
66 df = pd.read_excel("std_subject_2009.xlsx")
67 for i in range(len(df.values)):
68 item=df.values[i]
69 # print(item[0],item[1])
70 if (len(str(item[0])) == 1):
71 layer1_code = str(item[0])
72 layer1_name = item[1]
73 # print(layer1_code,layer1_name)
74 if (len(str(item[0])) == 3):
75 layer2_code = str(item[0])
76 layer2_name = item[1]
77 # print(layer2_code, layer2_name)
78 if (len(str(item[0])) == 5):
79 layer3_code = str(item[0])
80 layer3_name = item[1]
81 if(i!=(len(df.values)-1)):
82 if(len(str(df.values[i+1][0]))!=7):
83 # print(layer1_code + layer3_code,layer1_name + "·" + layer2_name + "·" +layer3_name)
84 res.update({layer1_code + layer3_code+"00":layer1_name + "·" + layer2_name + "·" +layer3_name})
85 if (len(str(item[0])) == 7):
86 layer4_code = str(item[0])
87 layer4_name = item[1]
88 # print(layer4_code, layer4_name)
89 if (layer4_code[:5] == layer3_code):
90 # print(layer1_code + layer4_code,layer1_name + "·" + layer2_name + "·" + layer3_name + "·" + layer4_name)
91 res.update({layer1_code + layer4_code:layer1_name + "·" + layer2_name + "·" + layer3_name + "·" + layer4_name})
92 return res
93 """
94 ---------------------------------------------------------------------------------------------------------------
95 """
96 def get_conn():
97 """
98 :return: 连接,游标
99 """
100 # 创建连接
101 conn = pymysql.connect(host="127.0.0.1",
102 user="root",
103 password="000429",
104 db="data_cleaning",
105 charset="utf8")
106 # 创建游标
107 cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示
108 return conn, cursor
109
110 def close_conn(conn, cursor):
111 if cursor:
112 cursor.close()
113 if conn:
114 conn.close()
115
116
117 def into_mysql():
118 global conn, cursor
119 res=get_subject_2009()
120 for k,v in res.items():
121 print(k,v)
122 try:
123 conn,cursor=get_conn()
124 SQL="insert into std_subject_2009 (year,subject_code,subject_name) values (2009,'"+k+"','"+v+"')"
125 cursor.execute(SQL)
126 conn.commit()
127 except:
128 print(k,v+" 插入失败!")
129 conn,cursor.close()
130 return None
131 if __name__ == '__main__':
132 into_mysql()

 获取标准学科分类表 请关注公众号【靠谱杨阅读人生】回复【学科】获取

python 1992和2006年国家标准学科分类和代码标准化并存入MySQL数据库的更多相关文章

  1. 用Python获取沪深两市上市公司股票信息,提取创近10天股价新高的、停牌的、复牌不超过一天或者新发行的股票,并存入mysql数据库

    #该脚本可以提取沪深两市上市公司股票信息,并按以下信息分类:(1)当天股价创近10个交易日新高的股票:(2)停牌的股票:(3)复牌不超过一个交易日或者新发行的股票 #将分类后的股票及其信息(股价新高. ...

  2. Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置

    近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...

  3. (转载)Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置

    近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...

  4. python爬虫学习(2)__抓取糗百段子,与存入mysql数据库

    import pymysql import requests from bs4 import BeautifulSoup#pymysql链接数据库 conn=pymysql.connect(host= ...

  5. Python+Scrapy+Crawlspider 爬取数据且存入MySQL数据库

    1.Scrapy使用流程 1-1.使用Terminal终端创建工程,输入指令:scrapy startproject ProName 1-2.进入工程目录:cd ProName 1-3.创建爬虫文件( ...

  6. python爬取疫情数据存入MySQL数据库

    import requests from bs4 import BeautifulSoup import json import time from pymysql import * def mes( ...

  7. python爬虫:爬取易迅网价格信息,并写入Mysql数据库

    本程序涉及以下方面知识: 1.python链接mysql数据库:http://www.cnblogs.com/miranda-tang/p/5523431.html   2.爬取中文网站以及各种乱码处 ...

  8. MySQL数据库和Python的交互

    一.缘由 这是之前学习的时候写下的基础代码,包含着MySQL数据库和Python交互的基本操作. 二.代码展示 import pymysql ''' 1.数据库的链接和创建视图 ''' # db=py ...

  9. Python pandas ERROR 2006 (HY000): MySQL server has gone away

    之前在做python pandas大数据分析的时候,在将分析后的数据存入mysql的时候报ERROR 2006 (HY000): MySQL server has gone away 原因分析:在对百 ...

  10. python实现HOG+SVM对CIFAR-10数据集分类(上)

    本博客只用于学习,如果有错误的地方,恳请指正,如需转载请注明出处. 看机器学习也是有一段时间了,这两天终于勇敢地踏出了第一步,实现了HOG+SVM对图片分类,具体代码可以在github上下载,http ...

随机推荐

  1. win32 - 使用Safer API创建受限的令牌

    #include <Windows.h> #include <WinSafer.h> #include <stdio.h> #include <sddl.h& ...

  2. java轻量级规则引擎easy-rules使用介绍

    我们在写业务代码经常遇到需要一大堆if/else,会导致代码可读性大大降低,有没有一种方法可以避免代码中出现大量的判断语句呢? 答案是用规则引擎,但是传统的规则引擎都比较重,比如开源的Drools,不 ...

  3. django的orm多表查询作业第五题答案

    5.每个作者出版的所有书的最高价格以及最高价格的那本书的名称. 用django的模型类写不出来的,只能用原生sql写这题 关于第五题,mysql5.7及以上版本,使用下面的答案 set sql_mod ...

  4. vim创建sh文件自动生成头信息

    >>> vim /etc/vimrc 或 vim ~/.vimrc " 这几个加不加都行 set tabstop=4 set softtabstop=4 set shift ...

  5. 【LeetCode二叉树#16】二叉(搜索)树的最近公共祖先(递归后序遍历,巩固回溯机制)

    二叉树的最近公共祖先 力扣题目链接(opens new window) 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 ...

  6. Google Test Adapter安装

    背景 我有一个vs2015 的gtest 工程,编译完成后,需要gtest adapter帮我把测试列表显示出来,但是通过vs自带的工具或者网页下载安装遇到2个问题: 1.下载速度超级慢,慢到我能到火 ...

  7. 【Azure 应用服务】App Service 通过 wardeploy 部署 war 包,如何指定到 root目录为wwwroot

    问题描述 在部署War包到App Service时,参考文档:(使用 ZIP 或 WAR 文件将应用部署到 Azure 应用服务 : https://docs.azure.cn/zh-cn/app-s ...

  8. Jepsen 测试框架在图数据库 Nebula Graph 中的实践

    在本篇文章中主要介绍图数据库 Nebula Graph 在 Jepsen 这块的实践. Jepsen 简介 Jepsen 是一款用于系统测试的开源软件库,致力于提高分布式数据库.队列.共识系统等的安全 ...

  9. 接口自动化有多少case?覆盖率是多少?执行完需要多久?

    case根据接口数量而定,比如两百个接口,大概有5000个用例,一个接口大概有25到30个用例,一个接口大概200ms左右响应时间 覆盖率能达到95%以上,有时候可以达到百分之百,所有接口自动化用例执 ...

  10. Android drawable与mipmap的区别(android资源文件放置位置)

    1.Drawable Android 把可绘制的对象抽象为Drawable,不同的图形图像代表着不同的darwable类型, 通常我们在代码中不会直接接触drawable实现类的,是由android ...