用到的知识点

1.mysql连接

2.pandas的concat数据合并

3.路径等


import threading
import requests
import json
import pymysql
from openpyxl import load_workbook
import openpyxl
import os
from configparser import ConfigParser
import time
import sys
import pandas as pd# __file__  #表示文件的名字
# os.path.abspath(__file__)  #绝对路径
#软件运行的所在文件夹目录--根目录
BASEDIR=os.path.dirname(os.path.abspath(__file__))
pathfile=os.path.join(BASEDIR,'config','config.ini')
# print(pathfile)def inputdata():# stringss=input("请输入数据格式:'pvm ip:行政区划代码,189.1.1.1:610403,...':").strip()stringss=input("请输入数据格式:'ipaddress:行政区划代码,...':").strip()items=stringss.split(',')# print(items,type(items))pcaddress=['161.20.12.156','161.20.12.112','181.172.11.119','181.172.11.11']for cityitem in items:ip,citycode=cityitem.split(":")#排除一些ip地址# if ip=='161.20.12.156'' or ip=='161.20.12.15'' or ip=='181.172.11.11':if ip in pcaddress:print("IP地址输入问题")sys.exit()if not citycode.startswith('112504'):print("行政区划范围输入问题")sys.exit()#启用多线程进行数据下载工作th=threading.Thread(target=calldownloadcity,args=(ip,citycode))th.start()# print(ip,citycode)# calldownloadcity(ip,citycode)def calldownloadcity(ip,citycodearg):citycode = citycodeargcityaddress = iptry:db = pymysql.connect(host=cityaddress, user="root", passwd="123456", db="dbss")except:print(cityaddress,"连接平台失败,请检查网络!")time.sleep(2)returndownloadCity(citycode,db)# 下载每个地市的文件,采用sql语句+excel表格的方式
def downloadCity(citycode,db):# 这里字符串的解决一定要注意的# sqlcity = "select * from device WHERE gb_id like %s%%"%(citycode)sqlcity = "select * from device WHERE gb_id like '{}%%'".format(citycode)# print(sqlcity)cursor = db.cursor()cursor.execute(sqlcity)wb = openpyxl.Workbook()wbsheet = wb.create_sheet("结果")print(citycode,"数据写入文件中,请稍等....")result = cursor.fetchall()# print(result)for rowdata in result:wbsheet.append(rowdata)  # 写入excel表格# print(rowdata)xlsxname ="{}.xlsx".format(citycode)wb.save(xlsxname)  # 保存的excel表格cursor.close()  # 关闭游标db.close()  # 关闭数据库print(xlsxname,"数据写入完成,请到软件目录下获取excel文件")def fludb():pass#合并所有excel表格#合并表格数据是以 191开头 以xlsx结尾的excel表格信息
def concatex():# print(pathfile)filesnames=os.listdir(os.getcwd())   #获取当前目录下所有文件writername=pd.ExcelWriter(r'ALL合成信息表.xlsx')   #最终保存文件的名称--最终合成的xlsx文件excel_files=[]   #接入符合要求的excel表格名称for filename in filesnames:if os.path.splitext(filename)[1]=='.xlsx' and filename.startswith('191'):    #后缀以'.xlsx'结尾,同时与‘191’开头的文件放入列表excel_files.append(filename)print("合并表格正在进行中,请稍后....:")print(excel_files)mergedflists=[]    #存放读取的表格的内容,临时缓冲区作用for excelname in excel_files:excel_content=pd.read_excel(excelname,sheet_name='结果',header=None)   #读取每个表格的sheet表为‘结果’的表格信息到列表中mergedflists.append(excel_content)####数据保存=#############pd.concat(mergedflists).to_excel(writername,sheet_name='All合成表信息',index=False)writername.save()   #保存信息def tuichu():sys.exit()func_dic = {'1' :inputdata,'2' :concatex,'3' :tuichu,}if __name__ == '__main__':while True:print('''===========功能列表===========1.下载图像资料信息2.合并当前目录下191**开头的所有excel表格-->'ALL合成信息表.xlsx'3.退出''')choice = input('请输入功能编号:').strip()if choice not in func_dic:print("输入正确的编号:")continuefunc_dic.get(choice)()# print("本次录入数据条目是{}:条".format(jc))

python示例--下载mysql数据库中数据--excel表格,合并表格相关推荐

  1. python怎么批量下载年报_使用Python批量下载Wind数据库中的PDF报告

    原标题:使用Python批量下载Wind数据库中的PDF报告 背景 最近小编出于工作需要,准备在Wind金融数据终端批量下载上市公司2019年第一季度业绩预告.通过相关的条件检索,发现其相关数据有近百 ...

  2. mysql数据库 导入excel_如何在MySQL数据库中导入excel文件内的数据 详细始末

    在开发项目的时候通常需要使用数据库,数据库Database是用来存储和管理数据的仓库.下面,我们以MySQL数据库为例来看看如何在数据库中导入excel文件内的数据吧. 操作方法 01 MySQL 打 ...

  3. Python脚本---在 MySQL数据库中跑批加载多个表的数据

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/45841117 #!/usr/bin/env python # -*- coding:utf ...

  4. 实现对mysql增删改查_Java语言实现对MySql数据库中数据的增删改查操作的代码

    简单说操作的步骤: 1.连接数据库 2.将SQL语句发送到数据库 3.执行SQL语句 这里举个例子: 在一个数据库中有个students表,表中有学号(Id),姓名(Name),性别(Sex),地址( ...

  5. MySQL数据库中数据表的约束条件

    目录 1.primary key :主键约束,用于唯一标识对应的记录 1.单字段主键 2. 复合主键 2.foreign key:外键约束 1.创建表时添加外键约束 2.为已存在的表添加外键约束 3. ...

  6. python获取mysql表中一列数据_将Python列表插入mySQL数据库中的一列

    嗨,我试图在一列中插入一个python列表,但是它总是在语法上给出错误. 这是新手.谢谢你的帮助.谢谢.在from time import time import MySQLdb import url ...

  7. ORM对mysql数据库中数据进行操作报错解决

    在Pycharm中使用ORM语句直接对数据库进行CURD操作时会出现错误: django.core.exceptions.ImproperlyConfigured: Requested setting ...

  8. mysql 数据库中数据去重,oracle数据库中如何达到像mysql数据库中group by 那种去重的效果..求大神解答...

    满意答案 oracle和mysql,group by是由区别的. oracle的gruop by 后跟的必须是select查询出的字段 而且group by语句中select指定的字段必须是" ...

  9. Python3调用MySQL数据库中的数据

    在学习<Designing Machine Learning Systems with Python>(中文名<机器学习系统设计--Python语言实现>)一书中,在第三章第二 ...

最新文章

  1. 网站图片优化的小技巧分享
  2. java程序初始化顺序
  3. sql server:查詢系統表
  4. C语言和设计模式(装饰模式)
  5. SQL service
  6. python以下导入包的格式错误的是_Python结合Tableau,万字长文搞定传统线下连锁店数据分析...
  7. 计算机考研复试面试题整理
  8. OpenDDS 编译
  9. OMNeT 例程 Tictoc15 和 Tictoc16 矢量和标量统计详解
  10. 颜色空间(一)——RGB色彩模式
  11. 使用python的视频处理
  12. mysql存储视频_特殊格式文件(视频、声音等) 在数据库中的存储方式
  13. 关于数据库工作方面的一些感悟
  14. 李沐的动手学深度学习环境配置
  15. 瑞昱rtl8168网卡支持Linux吗,我的集成网卡RTL8111/8168B终于搞定(非常感谢ubuntu中文论坛)...
  16. 2018桂林J - Stone Game(博弈)
  17. 卡尔曼滤波室内温度估计
  18. php Spreadsheet Csv,使用 PhpSpreadsheet 实现读取写入 Execl
  19. WS2812原理及实现
  20. ps怎么修改图片上的数字(适用于图片上已有的数字)

热门文章

  1. idea创建module没有图标显示
  2. json和ajax的使用
  3. Html5-------合并单元格
  4. 201771010137赵栋《第九周学习总结》
  5. 6-1 判断一个点是否在一个圆的内部 (20 分)
  6. python的numpy教程_ROS与Python入门教程-使用numpy
  7. AndroidStudio单元测试——instrumentation
  8. 增强型MOS管工作相关问题
  9. 不能打开到主机的连接, 在端口 1521: 连接失败
  10. EXCEL表格-复杂场景的数据提取(函数法)