范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

CtrlEnter,1秒批量合并数据并导入数据库的办法,你学会了吗?

  在日常数据分析的业务场景下,我们经常会遇到以下难题: 如何批量导入不同工作簿不同Sheet表下的数据? 如何将这些不同Sheet表下的数据合并为一个数据? 如何将合并的数据导入数据库?
  本文构造一组数据,批量合并后导入数据库保存,下面一起来学习。 本文使用工具:Python 3.7.0
  本文使用的模块:pandas、os、pymysql
  适用范围:数据批量导入与合并,数据库留存批量数据导入并合并
  首先构建10个工作簿,每个工作簿下面有三个Sheet表。
  每一个分别Sheet表包含ID、number、sale三个字段。
  导入相关的库,在数据批量导入及合并的时候,使用到pandas和os两个库。 #导入相关的库 import pandas as pd import os
  这里介绍一下os.listdir命令,他可以将一个数据文件内的所有文件名都读取出来,如下图就是读取的文件名,包含那十个工作簿。 os.listdir(r"C:Users尚天强Desktop测试数据")
  使用read_excel命令读取一个Excel文件。 df = pd.read_excel(r"C:Users尚天强Desktop测试数据测试数据1.xlsx") df.head()
  首先构建一个空的列表,里面没有任何数值,同时,在开始部分就定义数据的导入路径、导出路径、以及保存的文件名。 import pandas as pd import os  #构建一个空的列表 dfs = []  read_path=r"C:Users尚天强Desktop测试数据" save_path=r"C:Users尚天强Desktop" save_name="out_table.xlsx"
  接下来是循环遍历每一个文件的名称,并且遍历的文件名不能为保存的文件名,sheet_name=None表示读取每一个Sheet表下的数据,skiprows=1,header=None取消标题,跳过第一行,只保留数据内容,使用extend命令将遍历的这些数据内容上下拼接起来。 for fname in os.listdir(read_path):     if fname.endswith(".xlsx") and fname !=save_name:         df = pd.read_excel(read_path+""+fname,skiprows=1,header=None,sheet_name=None)         dfs.extend(df.values())
  使用concat命令将每一个工作簿的数据拼接起来。 #合并 result = pd.concat(dfs)
  在导出数据的时候,使用header命令给表格加一个标题,批量导入数据并合并的结果如下所示。 #导出数据 result.to_excel(save_path+""+save_name,index=False,header=["id","number","sale"])
  使用第一种方法合并数据,发现有重复值,可以使用drop_duplicates参数去除重复值,使用sort_values参数进行排序,去除重复值并且排序的数据结果如下所示。 import pandas as pd import os  dfs = []  read_path=r"C:Users尚天强Desktop测试数据" save_path=r"C:Users尚天强Desktop" save_name="out_table.xlsx"  for fname in os.listdir(read_path):     if fname.endswith(".xlsx") and fname !=save_name:         df = pd.read_excel(read_path+""+fname,skiprows=1,header=None,sheet_name=None,names=["id","number","sale"]) #这里需要用names函数命名,不然没法去重和排序         dfs.extend(df.values()) #合并 result = pd.concat(dfs)  #根据ID去除重复值 result.drop_duplicates(subset="id",keep="first",inplace=True)  #降序排列 result.sort_values(by="sale",ascending=False,inplace=True)  #导出数据 result.to_excel(save_path+""+save_name,index=False,header=["id","number","sale"])
  数据导入数据库
  将数据导入数据库,这里还是使用上面的数据文件,连接数据库使用的模块为pymysql。 #读入数据 data = pd.read_csv(r"C:Users尚天强Desktopout_table.csv",engine="python") data.head()#导入需要使用到的数据模块 import pandas as pd import pymysql
  数据库连接,host为数据库地址、user为用户名、password为密码、db为数据库的名字、port为端口,默认为3306。 # 建立数据库连接 con = pymysql.connect(host="127.0.0.1",                       user="root",                       password="123456",                       db="demo",                       port=3306)
  获取游标对象。 # 获取游标对象 cursor = con.cursor()
  用数据库demo,"USE demo" 也是数据库内的SQL语言。 #使用数据库demo cursor.execute("USE demo")
  构造一个test表,包含ID、number、sale三个字段。 cursor.execute("create table if not exists test (                                                   ID char(4) primary key,                                                   number int,                                                   sale float)"                                                   )
  向表test表内插入数据。 #插入数据语句 query = "insert into test(ID,number,sale)values (%s,%s,%s)"
  迭代读取每行数据,转化数据类型,将其保存在values内。 #迭代读取每行数据,values中元素有个类型的强制转换,否则会出错 for r in range(0, len(data)):     ID = data.iloc[r,0]     number = data.iloc[r,1]     sale = data.iloc[r,2]     values = (str(ID),int(number),float(sale))     cursor.execute(query, values)
  关闭游标,提交,关闭数据库连接。 #关闭游标,提交,关闭数据库连接,如果没有这些关闭操作,执行后在数据库中查看不到数据 cursor.close() con.commit() con.close()打印数据# 建立数据库连接 con = pymysql.connect(host="127.0.0.1",                       user="root",                       password="123456",                       db="demo",                       port=3306)# 获取游标对象 cursor = con.cursor()
  首先执行SQL命令,"select * from test"表示查询test表内的所有数据,循环遍历数值,将它打印出来。 #查询数据库并打印内容 cursor.execute("select * from test") result = cursor.fetchall() for values in result:     print(values)
  打印出来的结果可以看到,第一列是字符串,第二列是整型,第三列是浮点型。 #关闭 cursor.close() con.commit() con.close()
  导入数据库后的结果如下所示:

外卖小哥接机,小米粉丝牵铁蛋,机器人这波儿我们没落下美团无人机无人车腾讯的大狗max小米的铁蛋科技大佬们纷纷撸起袖子做起了机器人。辣么多机器人横空出世,机器人们你们来得有点快了吧!俺们都没准备好呢?外卖小哥慌的一批,写个段子平复一下四款堪比专业设备的拍照手机,拍照党必备手机拍照在好几年前就已经成为智能手机的核心功能之一了,虽然也有机友平时不怎么拍照,但当下几乎所有的手机都将拍照作为了卖点之一,甚至主打拍照功能。在这种趋势下,智能手机的拍照实力越来7个你必须知道的Windows10技巧,每一个都会对你有很大帮助想要快速熟练电脑,那么只有学会电脑中的一些小技巧是最重要的,多学多记多练,就可以熟练地掌握电脑,秒变电脑大神!那么想要掌握电脑的必备要素是什么呢?答快捷键!话不多说,今天就来给大家懂行人怎么挑手机?重点关注这六点,买手机不吃亏众所周知,手机更新换代速度非常快。也许今天刚买的手机过几个月就下跌几百元,对于消费者来说不乏是一场损失,那么我们应该如何选购一款品质与性价比兼得的手机?一处理器处理器是手机运行的核微信推出新功能!朋友圈封面也可以换成动态视频啦,非常好看微信可以说是人人都在使用的一款聊天软件,每次微信的版本更新都会有新的功能浮现出来,今天就来给大家教学一波,如果更换朋友圈动态封面!首先,我们在手机中打开微信,然后点击微信最下方的发咸鱼二手电脑翻车现场唉,常在河边走,终于翻车了。最近在咸鱼买了台二手的笔记本,用了一个多月,问题不少。现在总结一下吧,当时我是专门去了趟外地,验机就在火车站外面的地铁口附近席地而坐,验机也不充分。问题你是愿意立刻获得5000万,还是愿意带着记忆重回到10年以前?明显带着记忆啊1硬背一期彩票一等奖,买2注,1000万到手,交税剩800万2捐600万开免费小学,资助贫困生,剩余的钱成立基金交给信托理财3200万开股票账户,买死记硬背下来的股票麒麟970放在2021年,性能处于什么水平?我上部手机是麒麟970玩吃鸡也不卡,现在用的手机是麒麟990也没觉得明显提升。其实970完全够用,处理器更新换代这么快,完全是商家逐利的市场行为。我的荣耀v10现在还在用,已经两年比亚迪宋PLUS新能源真实电耗,车主家用无压力比亚迪宋PLUS新能源真实电耗,车主家用无压力。我是江苏车主,提的是2021款DMi110KM旗舰型,裸车价格为15。98万元,目前已经行驶了1842公里。为什么选择这款车也是缘分蔚来车主内讧超7800人反对被代表新京智库8月12日,蔚来车主林文钦驾驶蔚来ES8汽车在沈海高速涵江段发生交通事故不幸逝世。此次事件引发业内对自动驾驶技术安全性的讨论。蔚来车主林文钦车祸事件官方调查结果尚未公布,8月18日iPadmini6和iPad9有望在下月发布,性能更强,屏幕更好疫情之后,平板市场热闹了起来,小米重启平板生产线OPPO高层表示,自家的平板已经在路上vivo的平板据说已经通过了莱茵认证realmeiQOO也被爆出有平板计划。荣耀平板v7Pro
智能触控设备常见端口有哪些,它们的作用分别是什么?智能触控设备上的端口有哪些?智能触控设备包括一体机和显示器两个主类别,简单点说,普通电脑主机与显示器上该有的端口,智能触控设备上都有。根据不同端口的应用方向,智能触控设备在被选择时工业一体机出厂前要经过哪些检测项目,如何检,标准有吗?一台合格的工业一体机送达客户之前,需要经历哪几个检测程序,一体机已经组合拼装完成,出厂前需要做些什么来保证它是无瑕疵的并且能够正常运行?网上常有3C产品性能测试开箱视频,通过运行产列车信息如何实时共享?工业安卓一体机为高铁调度平台来解答!随着我国高铁的发展,高铁调度平台作为列车信息共享中心,是远程控制系统与列车之间的关键数据枢纽,也是列车正常运行预防突发故障等重要的监控系统。据公开数据显示,我国目前高铁运营里程占据全屋网络满血覆盖领势(LINKSYS)VELOPMX8400体验记前言大家好。都2021年了,再科普WiFi6与Mesh已经有点凑字数的嫌疑,不过从我身边人来看,路由小白用户的比例还是占大多数,所以还是先简单介绍一下吧。WiFi6即802。11。这款豪华SUV性价比极高!实拍2022款凯迪拉克XT6,搭载2。0T9AT凯迪拉克XT6这款车拥有着较为霸气的外观和豪华的配置,并且新车有着很大的优惠,凭借它较高的颜值和性价比,吸引了很多消费者们的眼球。近日,小编就获取到了一组凯迪拉克XT6的实车图,下行业首款(40Size安全座椅欧颂HERO探索号前言大家好。随着现在人均产值越来越高,大家的家庭汽车持有量也越来越高,根据公安部公布的信息,截至2021年3月,全国机动车保有量达3。78亿辆,其中汽车2。87亿辆机动车驾驶人4。原画质色彩输出,工业一体机步入动漫制作江湖!随着物质生活水平的不断提高,人们对于精神层面的追求越来越丰,这促使一些娱乐行业得到高速发展,动漫行业便是其中之一。动漫行业的发展,也带来了大量的学习动漫制作群体。简单来说,大致分为一加9系列正式发布哈苏色彩和双主摄方案,方向对了今天一加终于带来了2021年的首款旗舰机型一加9系列。发布会的地点选在了上海东方体育中心,同时还请来了流浪地球导演郭帆以及演员周迅前来为一加9打call,不得不说,这次一加对一加9用色彩激活全新视觉,OPPOFindX3系列发布正式发布十年转眼即逝,十年前OPPO带来了Find系列,这是一个很具未来感科技感的系列,也有很多经典机型值得我们记忆。今天,OPPO正式发布了OPPOFindX3系列,这也是首个支持全链路10nm酷睿RedmiBook1614开售,小米立式无线充插座同期众筹7月8日RedmiBook带来了intel平台的新品,16。1英寸的RedmiBook16和主流14英寸的RedmiBook14。搭载全新10nm制程第十代英特尔酷睿处理器,并且配可实现自动复位的工控机,在工业4。0中是何体验?工业4。0时代,新一代信息技术与制造业的深度融合,带来了影响深远的产业变革,大规模个性化定制基于机械与数字信息系统(CPS)的智能集成形成了新的生产方式产业形态商业模式和经济增长。