前言

近年来,数据分析正在改变我们的工作方式,数据分析的相关工作也越来越受到人们的青睐。很多编程语言都可以做数据分析,比如Python、B、Matlab等,Python凭借着自身无可比拟的优势,被广泛地应用到数据科学领域中,并逐渐衍生为主流语言。选择Python做数据分析,主要考虑的是Python具有以下优势:

1.语法简单精练,适合初学者入门

比起其他编程语言,Python的语法非常简单,代码的可读性很高,非常有利于初学者的学习。例如,在处理数据的时候,如果希望将用户性别数据数值化,也就是变成计算机可以运算的数字形式,这时便可以直接用一行列表推导式完成,十分简洁。

2.拥有一个巨大且活跃的科学计算社区

Python在数据分析、探索性计算、数据可视化等方面都有非常成熟的库和活跃的社区,这使得Python成为数据处理的重要解决方案。在科学计算方面,Python拥有Numpy、Pandas、Matplotlib、Seikit-learm、IPython等一系列非常优秀的库和工具,特别是Pandas在处理中型数据方面可以说有着无与伦比的优势,并逐渐成为各行业数据处理任务的首选库。

3.拥有强大的通用编程能力

Python的强大不仅体现在数据分析方面,而且在网络爬虫、Web等领域也有着广泛的应用,对于公司来说,只需要使用一种开发语言就可以使完成全部业务成为可能。例如,我们可以使用爬虫椎架Serapy收集数据,然后交给Pandas库做数据处理,最后使用Web框架Django给用户做展示,这一系列的任务可以全部用Python完成,大大地提高了公司的技术效率。

4.人工智能时代的通用语言

在人工智能领域中,Python已经成为了最受欢迎的编程语言,这主要得益于其语法简洁、具有丰富的库和社区,使得大部分深度学习框架都优先支持Python语言编程。比如当今最火热的深度学习框架TensorFlow,它虽然是使用C++语言编写的,但是对Python语言支持最好。

5.方便对接其他语言

一、背景

本章主要分享的是将Excel存放的数据导入到MySQL存放。

二、准备工作

1.安装Python3

下载地址:https://www.python.org/downloads/windows/

2.安装库

pip install PyMySQL==1.0.2

pip install xlrd==1.2.0

三、代码

Excel数据导入MySQL.py

# _*_ coding:utf-8 _*_
import pymysql, xlrd, osclass SunckSql():def __init__(self, host, user, passwd, dbName='', charset='utf8'):self.host = hostself.user = userself.passwd = passwdself.dbName = dbNameself.charset = charsetdef connet(self):self.db = pymysql.connect(host=self.host, user=self.user, passwd=self.passwd, db=self.dbName,charset=self.charset)  # 连接数据库self.cursor = self.db.cursor()  # 获取操作游标def close(self):self.cursor.close()  # 释放游标self.db.close()  # 关闭数据库连接# 查询def get_all(self, sql):res = Nonetry:self.connet()self.cursor.execute(sql)  # 执行sql语句res = self.cursor.fetchall()  # 返回查询所有结果except Exception as e:print('查询失败:%s' % e)finally:self.close()return res# 增加、删除、修改def shell_sql(self, sql):"执行sql语句"# print(sql)count = 0try:self.connet()count = self.cursor.execute(sql)  # 执行sql语句self.db.commit()  # 提交except Exception as e:print('事务提交失败:%s' % e)self.db.rollback()  # 如果提交失败,回滚到上一次数据finally:self.close()return countdef get_xlsx(excel_path, sheet):"获取指定Excel数据"file = xlrd.open_workbook(excel_path)  # 打开excellist = []sheet = file.sheet_by_name(sheet)  # 获得指定sheet数据row_value1 = sheet.row_values(0)  # 获取第1行的标题nrows = sheet.nrows  # 获取当前sheet行数ncols = sheet.ncols  # 获取当前sheet列数for i in range(1, nrows):  # 从第2行遍历当前sheetrow = sheet.row_values(i)  # 获取行数据dict = {}  # 创建空字典for j in range(0, ncols):  # 遍历sheet列,组成字典if row_value1[j] == '序号':dict[row_value1[j]] = int(row[j])else:dict[row_value1[j]] = row[j]  # 从第一列开始,将每一列的数据与第1行的数据组成一个键值对,形成字典list.append(dict)  # 将字典添加list中return listdef get_sheet_name(excel_path):file = xlrd.open_workbook(excel_path)  # 打开excelsheets_name = file.sheet_names()return sheets_namedef create_db(ip, name, passwd, db_name):db = SunckSql(ip, name, passwd)db.shell_sql("DROP DATABASE IF EXISTS %s;" % db_name)  # 删除数据库db.shell_sql("CREATE DATABASE IF NOT EXISTS %s CHARSET utf8;" % db_name)  # 创建数据库def excel_db1(ip, name, passwd, db_name, db_table, data):"""创建数据表并插入数据"""my = SunckSql(ip, name, passwd, db_name)my.shell_sql("CREATE TABLE IF NOT EXISTS %s (序号 INT (16) NOT NULL,题目 VARCHAR(8192),选项A VARCHAR (2048),""选项B VARCHAR(2048), 选项C VARCHAR(2048),选项D VARCHAR(2048),答案 VARCHAR(32))" % db_table)  # 创建数据表for i in data:my.shell_sql("INSERT INTO %s (序号,题目,选项A,选项B,选项C,选项D,答案) VALUES (%d,'%s','%s','%s','%s','%s','%s')" % (db_table, i['序号'], i['题目'], i['选项A'], i['选项B'], i['选项C'], i['选项D'], i['答案']))  # 向数据表插入数据def excel_db2(ip, name, passwd, db_name, db_table, data):"""创建数据表并插入数据"""my = SunckSql(ip, name, passwd, db_name)my.shell_sql("CREATE TABLE IF NOT EXISTS %s (序号 INT (16) NOT NULL,题目 VARCHAR(8192),答案 VARCHAR(8192))" % db_table)  # 创建数据表for i in data:my.shell_sql("INSERT INTO %s (序号,题目,答案) VALUES (%d,'%s','%s')" % (db_table, i['序号'], i['题目'], i['答案']))  # 向数据表插入数据def main(ip, name, passwd, db_name):excel_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '软件测试试题库.xlsx')  # 获取用例文件路径create_db(ip, name, passwd, db_name)  # 创建数据库sheet_name = get_sheet_name(excel_path)  # 获取Excel中sheet名称for i in range(0, len(sheet_name)):db_list = get_xlsx(excel_path, sheet_name[i])  # 获取sheet测试用例if i < 4:excel_db1(ip, name, passwd, db_name, sheet_name[i], db_list)  # excel数据导入mysqlprint('Excel数据导入mysql完成:%s' % sheet_name[i])else:excel_db2(ip, name, passwd, db_name, sheet_name[i], db_list)  # excel数据导入mysqlprint('Excel数据导入mysql完成:%s' % sheet_name[i])if __name__ == '__main__':main(ip='数据库ip地址', name='mysql账号', pw='******', db_name='软件测试试题库')

Python实现Excel数据导入MySQL相关推荐

  1. 利用python将excel数据导入mySQL

    主要用到的库有 xlrd 和 pymysql , 注意pymysql不支持python3 篇幅有限,只针对主要操作进行说明 连接数据库 首先pymysql需要连接数据库,我这里连接的是本地数据库(数据 ...

  2. python接入excel_使用python将excel数据导入数据库过程详解

    因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接丢代码,使用python3,注释比较清楚. ...

  3. python将EXCEL数据导入数据库时日期型数据变成数字并加.0的问题一行代码解决方案方案

    [问题描述]:python将EXCEL数据导入数据库时日期变成文本型数据并显示为数字格式 [解决方案] 数据源: codes: #!/usr/bin/python3 -- coding: utf-8 ...

  4. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 "我的面试感悟"有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结 ...

  5. navcat导入mysql bak_navcat excel数据导入mysql的方法

    navcat excel数据导入mysql的方法 先navcat导出 xls格式 然后把数据复制到往这个xls里 (按照这个xls格式) 然后导入mysql就行了 如果导入的过程无法识别excel里的 ...

  6. excel数据导入mysql被截取,从EXCEL导入数据库数值型都被四舍五入了-excel导入mysql数据库...

    excel数据导入mysql有什么好办法 使用Navicat 连接导入的数据库. excel 列的名字最好和数据库字一致,便们直查看好理解. 第一步,先创建好表,和准备好对应的excel文件.在Nav ...

  7. 使用python将excel数据导入数据库

    https://www.cnblogs.com/longbigbeard/p/9309180.html 因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 py ...

  8. python将excel数据导入ppt_使用python将excel数据导入数据库

    因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接丢代码,使用python3,注释比较清楚. ...

  9. python实现excel数据与mysql数据库互通有无

    [阅读全文] python在制作一些小工具上本身就有着得天独厚的优势,大多数非标准库的应用只需要进行简单的安装即可使用. 比如:使用python将excel中的数据导入到mysql数据库表中,或是将m ...

最新文章

  1. 线程本地ThreadLocal的介绍与使用!
  2. windows10下安装opencv3.2+QT Creator+MingGW
  3. 【重构】微信小程序倒计时组件
  4. html tab切换jquery,jQuery版Tab标签切换
  5. 苹果可折叠iPhone有望在2023年推出 支持手写笔
  6. ajax jinja,在向Flask发出jQuery AJAX请求后渲染Jinja
  7. C# asp.net常见编译|运行错误
  8. Enterprise Library 4.1 Security Block 快速使用图文笔记
  9. 记一次被动的网卡升级:VMWare导致的无线网卡不能启用
  10. 计算机键盘按键数量,电脑键盘有一百多个按键,有3个很少人会碰
  11. 常见蓝屏代码解释及解决方法
  12. Word文档乱码恢复操作----免费指导
  13. Unable to find instance for system
  14. 在云端管理您的所有身份(AAD)-第二部分
  15. java 求两个list 集合的交集,重复的元素
  16. 1875.贝茜的报复
  17. 20个专业H5(HTML5)动画工具推荐
  18. 苹果承认新一代iPad wifi问题 正调查原因
  19. 小米笔记本安装android系统下载失败,小米平板电脑2如果刷成安卓的系统失败了怎么处理...
  20. 孕妇免疫力低怎么办?就看蛋白粉的功效!

热门文章

  1. 如何在mac eclipse引入win版本eclipse的android项目
  2. 小强说话---子曾经曰过的
  3. 基于python的数据分析系统,python数据分析经典案例
  4. 很不懂 对网络上面的话很不懂
  5. Android动画SVGA的使用
  6. 网络规划设计师过考经验
  7. Android最火的开源项目
  8. 选型最佳实践|从业务场景分析直播SDK
  9. Win10添加简体中文美式键盘的方法
  10. linux怎么创建用户登录,如何创建一个不能登录的Linux用户名