文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

标准国民经济行业分类与代码GB/T 4754-2011存入mysql数据库

2016-05-27 07:31

关注

标准国民经济行业分类与代码GB/T 4754-2011存入mysql数据库

国标:

代码:

 1 import pandas as pd
 2 import pymysql
 3 """
 4 ------------------------------------------------------------------------------------
 5 """
 6 def get_conn():
 7     """
 8     :return: 连接,游标
 9     """
10     # 创建连接
11     conn = pymysql.connect(host="127.0.0.1",
12                     user="root",
13                     password="000429",
14                     db="data_cleaning",
15                     charset="utf8")
16     # 创建游标
17     cursor = conn.cursor()  # 执行完毕返回的结果集默认以元组显示
18     return conn, cursor
19 
20 def close_conn(conn, cursor):
21     if cursor:
22         cursor.close()
23     if conn:
24         conn.close()
25 """
26 -----------------------------------------------------------
27 """
28 """
29 ------------------------------------------------------------------------------------
30 """
31 def query(sql,*args):
32     """
33     通用封装查询
34     :param sql:
35     :param args:
36     :return:返回查询结果 ((),())
37     """
38     conn , cursor= get_conn()
39     print(sql)
40     cursor.execute(sql)
41     res = cursor.fetchall()
42     close_conn(conn , cursor)
43     return res
44 """
45 ------------------------------------------------------------------------------------
46 """
47 
48 def into_mysql(filename):
49     category_code = ""      #门类编码
50     category_name = ""      #门类名称
51 
52     conn,cursor=get_conn()  #连接mysql
53     if(conn!=None):
54         print("数据库连接成功!")
55     tempres = []            #暂存列表
56     df=pd.read_excel(filename)      #读取标准表
57     # print(len(df.index))
58     for i in range(len(df.index.values)):   #第一层遍历标准表 找到门类的编码和名称 找到小类的编码
59         # print(df.loc[i][1])
60         code=str(df.loc[i][0])           #所有的编码
61         name=str(df.loc[i][1])           #所有的名称
62         if len(code)==1:
63             category_code=code     #门类编码
64             category_name=name     #门类名称
65         #分割编码
66         if len(code)==4:
67             small_class=name        #小类名称
68             new_code_2=code[:2]     #分割出两位编码    之后确定大类名称
69             new_code_3=code[:3]     #分割出三位编码    之后确定中类名称
70             print(category_code)    #最终的字符串需要门类的编码ABCD和门类的名称
71             print(new_code_2)
72             print(new_code_3)
73             for j in range(len(df.index.values)):   #第二次遍历 寻找不同的位数的编码对应不同的名称
74                 if new_code_2==df.loc[j][0]:
75                     big_class=df.loc[j][1]    #大类名称
76                 if new_code_3==df.loc[j][0]:
77                     mid_class=df.loc[j][1]    #中类名称
78             tempres.append(category_code+code)              #列表暂存A0511 编码
79             tempres.append(category_name+"·"+big_class+"·"+mid_class+"·"+small_class)   #列表暂存完整的名称
80             print(tempres)
81             SQL = "insert into std_code (code,name) values(""+tempres[0]+"",""+tempres[1]+"");"     #sql插入语句
82             try:
83                 cursor.execute(SQL)             #执行sql语句
84                 conn.commit()                   #提交事务
85                 print(""+str(i+1)+"条数据插入成功:
",category_code+code,name)        #插入成功输出
86                 print("--------------------------------------------------")
87             except:
88                 print("插入失败:
",category_code+code,name)
89             tempres=[]          #清空列表
90     close_conn(conn,cursor)     #关闭数据库连接
91     return None
92 if __name__ == "__main__":
93     filename="GBT4754-2011.xlsx"
94     into_mysql(filename)

运行代码输出的内容截图:

 

 

最终存入mysql数据库截图:

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯