首页 > 其他分享 >大数据清洗二之增加行政编码和规范到去区或县

大数据清洗二之增加行政编码和规范到去区或县

时间:2024-03-14 20:24:00浏览次数:30  
标签:编码 geocodes 规范 cursor result address new 清洗 conn

我因为准备考研,所有就算抽空整整建民老师的大数据作业,今天在选修课上把第二阶段的规范到区和县还有增加行政区域编码。

代码如下:

import json
import pymysql
import pandas as pd
import requests
from sqlalchemy import create_engine

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='你的密码', db='你的数据库', charset='utf8')

# 编写SQL查询语句
sql = "SELECT * FROM table3 "

# 使用pandas读取数据
df = pd.read_sql(sql, conn)

new_addresses = []

# 更改循环变量名,避免与 DataFrame 对象名冲突
for i, address in enumerate(df['单位']):
    if address:
        url = 'https://restapi.amap.com/v3/geocode/geo?address=' + address + '&output=JOSON&key=你的key'
        request = requests.get(url).text
        try:
            result = json.loads(request)
        except json.JSONDecodeError as e:
            new_address=address
        if result['status'] == "1":
            adcode = result['geocodes'][0]['adcode']
            sql2 = "UPDATE table3 SET 行政区划编码 = '%s' where 单位 = '%s' " % (adcode, address)
            # 执行数据库插入
            cursor = conn.cursor()
            cursor.execute(sql2)
            conn.commit()
            if result['geocodes'][0]['district']:
                new_address = str(result['geocodes'][0]['province']) + str(result['geocodes'][0]['city']) + str(result['geocodes'][0]['district'])
            else:
                if result['geocodes'][0]['city']:
                    new_address = result['geocodes'][0]['province'] + result['geocodes'][0]['city']
                else:
                    new_address = result['geocodes'][0]['province']
        else:
            new_address = address
    else:
        new_address = ""
        address = ""
    if new_address != address:
        sql1 = "UPDATE table3 SET 单位 = '%s' WHERE 单位 = '%s'" % (new_address, address)
        #向table3插入行政区划编码
        # 使用cursor执行SQL语句
        cursor = conn.cursor()
        cursor.execute(sql1)
        conn.commit()
        cursor.close()
    print(address + "---->" + new_address + " --" + str(i))

conn.close()

同理其他表也是这样操作,然后再合并。

标签:编码,geocodes,规范,cursor,result,address,new,清洗,conn
From: https://www.cnblogs.com/daitu66/p/18073858

相关文章

  • 自学Python第一步,记住这7大编码规范
    一、缩进每一级缩进4个空格。续行应该与包裹元素对齐,要么使用圆括号,方括号,花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐。当使用挂行缩进对齐时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。对齐缩进(左右括号对齐)deflong_function_name(var_......
  • C++windows编码问题
    需要注意的编码方式有三处:操作系统、程序编码(与源文件编码一致)、通信对方传入字符的编码程序编码(与源文件编码一致)操作系统编码对方传入的编码中文是否okc2A0编码的空格utf-8utf-8utf-8okokutf-8gbkgbk正常中文可以,特殊空......
  • 数据库设计规范-Oracle
    参照以下原则进行数据库设计:1.方便业务功能实现、业务功能扩展。2.方便设计开发、增强系统的稳定性和可维护性。3.保证数据完整性和准确性。4.提高数据存储效率,在满足业务需求的前提下,使时间开销和空间开销达到优化平衡。项目信息化建设全文档:软件开发全套资料_数字中台......
  • m基于FPGA的Alamouti编码verilog实现,包含testbench测试文件
    1.算法仿真效果 本系统进行了Vivado2019.2平台的开发,结果如下:   2.算法涉及理论知识概要        在无线通信领域,多天线技术是提高系统容量和可靠性的关键手段之一。Alamouti编码是空时编码(STC)的一种,它为两发射天线的系统提供了一种全速率、全分集的简单编码方......
  • 5.修改fasta文件成规范文件
     今天遇到一个小问题,整理的fasta参考序列并不规范,如下图所示:碱基是小写的,并且还空行了,碱基序列不连续,那怎么变成正常的呢?(见下图)在服务器里我们创建一个py脚本nanoformat_fasta.py 然后把下面代码复制进去#!/usr/bin/envpythonimportsysdefformat_fasta(inpu......
  • 位置编码(Poitional Encoding)
    2024.3.13位置编码(PoitionalEncoding)Self-Attention:对于每个词而言都是位置关系,把每个词的顺序打乱,得到的注意力值依然不变优点:解决了长序列依赖问题可以并行缺点:开销变大(需要算力增加)既然可以并行,则词与词之间不存在顺序关系(打乱一句话,这句话里的每个词的词向量依然......
  • 【MATLAB源码-第146期】基于matlab的信源编码仿真GUI,对比霍夫曼编码,算术编码和LZ编码
    操作环境:MATLAB2022a1、算法描述霍夫曼编码、算术编码和LZ编码是三种广泛应用于数据压缩领域的编码技术。它们各自拥有独特的设计哲学、实现方式和适用场景,因此在压缩效率、编解码速度和内存使用等方面表现出不同的特点。接下来详细描述这三种编码技术,并对它们进行比较。......
  • 软件设计规范——UML(后端软件开发,同样要设计先行!)
    什么是UML?统一建模语言(UnifiedModelingLanguage,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。前端开发,要先用axure设计页面。但是涉及到代码的层面往往......
  • 深度学习--自编码器(AE)、变分自编码器(VAE)
    提示:仅供自己学习、复习需要,有任何问题可在评论区提出。深度学习--自编码器一、自编码器AE二、变分自编码器VAE1.为什么要有VAE2.VAE推导一、自编码器AE自编码器是一种无监督的特征学习,其目的是利用无标签数据找到一个有效的低维的特征提取器。那什么是特征学习......
  • Python实战:变量命名规范:编写优雅代码的关键
    在Python编程中,变量命名规范对于编写优雅和可维护的代码至关重要。本文将深入探讨Python中的变量命名规则和最佳实践,包括命名约定、避免命名冲突以及命名中的注意事项。我们将通过具体的代码示例来展示如何遵循命名规范来编写优雅的代码,并理解命名规范在编程中的重要性。1.......