看完这篇教程,你会了解到Python3导入Excel2007及以上版本的基本步骤,了解相关连接数据库的基本步骤,了解cx_Oracle、pymssql openpyxl等包的使用,和其他关于Pyhton3基础知识tuple、生成器和占位符。

业务需求

现在有一份从数据库导出的excel文件,第一行对应的是表字段名称,然后数据量也不是很大,现在需要导入到数据库,当然SQLserver可以直接导入excel,然后其他的数据库不晓得可不可行,然后这次我们要实现的就是利用python实现读取excel,然后存入对应的数据库。

这块主要用到了一些python3的模块有:

连接oracle的数据库,cx_Oracle 7.0;

连接SQLserver的数据库,pymssql 2.1.4

读取excel2007及以上版本,openpyxl 2.5.10

相关包介绍

1. cx_Oracle(官方文档:cx_Oracle)

首先,先看一份连接的事例代码

// 引入包

import cx_Oracle

//建立连接

conn = cx_Oracle.connect('用户名/密码@服务器地址/服务器名')

//实例 'test111/test12345@127.0.0.1/orcl'

//获取游标

cursor = conn.cursor()

//执行sql语句

cursor.execute("select address from temp_m_customer_addr_info where ID = '103791721'")

//取一行数据,游标自动向下移动一行

row = cursor.fetchone()

//打印取出的这行数据

print(row)

//关闭游标和关闭连接

cursor.close()

conn.close()

然后,我们来简单介绍下它的一些 其他用法(主要是游标对象cursor的操作,因为它最常用)

Cursor.execute(statement, [parameters, ]**keywordParameters)

Cursor.executemany(statement, parameters, batcherrors=False, arraydmlrowcounts=False)

Cursor.fetchall()

Cursor.fetchmany([numRows=cursor.arraysize])

Cursor.rowcount

Cursor.rowfactory

2. pymssql (官方文档:pymssql)

同样我们也是先来看实例代码

// 引入包

import pymssql

//建立连接

conn = pymssql.connect(host='地址', user='用户名', password='用户密码', database='数据库')

//实例 host='127.0.0.1', user='sa', password='sa12345', database='test'

//获取游标

cursor = conn.cursor()

//执行sql语句

cursor.execute("select address from temp_m_customer_addr_info where ID = '103791721'")

//取一行数据,游标自动向下移动一行

row = cursor.fetchone()

//打印取出的这行数据

print(row)

//关闭游标和关闭连接

cursor.close()

conn.close()

从上面看出来,使用的方法它们之间貌似遵循着某种规范,使用起来都是很相似的,在这就不赘述了,其实它们之间还是会有点小区别的,主要体现在数据类型上,两者都会返回一个tuple,其中对应的数据类型会因为数据不同而返回不同的数据类型对象,到时候对应处理数据的时候,格外留意处理下即可。

3. openpyxl(官方文档:openpyxl)

还是照例上代码:

// 引入包

from openpyxl import load_workbook

// 根据地址,加载excel

wb = load_workbook(url)

// 获取对应的sheet

ws = wb['SC_MAGAZINE.SJ_DOCUMENT_17']

// 遍历ws里面 一行一行

for i, row in ws.rows:

print(i)

for cell in row:

print(cell.value)

我们本次业务只用到取值,但是写入有时候也是会需要的,我们接着来简单了解下其他的方法等

ws1 = wb.active 取出一个sheet(激活)

ws1.append(range(600)) 添加数据

ws2 = wb.create_sheet(title="Pi") 创建 名字为pi的sheet

wb.save(filename = "filename’) 保存这个excel

ws.merge_cells('A2:D2') 合并单元格

ws.unmerge_cells('A2:D2') 取消合并

Python3基础知识

这次业务里面用到了一些知识主要有:tuple、生成器、占位符等,我们就来了解了解,这样子积累,应该会比你枯燥的去看比较有意思,但是最终还是需要系统的看。我们开始吧!

1. tuple 元祖(推荐廖雪峰老师的文档:list和tuple)

有以下几个特点:

tuple一旦初始化就不能修改

和list类似,表现为t = ('nihao',1,'小子’,[1,2,3],'ceshi'),用大括号括起来 ,而list使用中括号

tuple可以转化为list,使用list(tuple)就可以转为list,自然tuple(list)也可以将tuple转化为tuple

2. generator 生成器 (推荐廖雪峰老师的文档:generator)

在循环的过程中不断推算出后续,这种一边循环一边计算的机制,称为生成器:generator。

>>> L = [x * x for x in range(10)]

>>> L

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

>>> g = (x * x for x in range(10))

>>> g

at 0x1022ef630>

创建L和g的区别仅在于最外层的[]和(),L是一个list,而g是一个generator。

3. %s占位符

其实不止这一个占位符,还有%d、%f等等,列个表看看

格式

描述

%%

百分号标记

%c

字符及其ASCII码

%s

字符串

%d

有符号整数(十进制)

%u

无符号整数(十进制)

%o

无符号整数(八进制)

%x

无符号整数(十六进制)

%X

无符号整数(十六进制大写字符)

%e

浮点数字(科学计数法)

%E

浮点数字(科学计数法,用E代替e)

%f

浮点数字(用小数点符号)

%g

浮点数字(根据值的大小采用%e或%f)

%G

浮点数字(类似于%g)

%p

指针(用十六进制打印值的内存地址)

%n

存储输出字符的数量放进参数列表的下一个变量中

当然常用的还是%d、%f、%s

用法是print("My name is %s" %("Alfred.Xue")),这些用法在Python3基础里面应该是不会提到太多,多积累,然后记忆起来对你编程速度会有很大提升。其中 %s 还会自动帮你去判断类型然后放入到占位符位置。

业务实现

业务实现主要就是结合上述的一些技术,然后进行for循环遍历来组合数据,写入数据库,没有特别的难点,此处就不在介绍,后续如果有类似的工作内容,在详细展示!

python3读取excel数据-【Python3学习系列】——Python读取Excel相关推荐

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

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

  2. python对excel数据求和_96、python操作excel求和

    这里介绍如何用python来自动完成我们的excel工作. 本文的目的是展示一些常见的Excel任务,以及如何在python pandas中执行类似的任务.例子微不足道,但重要的是通过这个例子来循序渐 ...

  3. python对excel数据更改_利用python对excel中一列的时间数据更改格式代码示例

    本篇文章小编给大家分享一下利用python对excel中一列的时间数据更改格式代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 问题场景:需要将 ...

  4. python将excel导入mysql_Python将Excel数据自动导入MySQL,python,实现,excel,到,中

    废话不多说,下面附上代码. # -*- coding: utf-8 -*- """ Created on Mon Apr 20 14:18:49 2020 @author ...

  5. python3读取excel数据-Python3读取和写入excel表格数据的示例代码

    python操作excel主要用到 xlrd 和 xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 :xlwt写入excel表格数据: 一.python ...

  6. Excel数据透视表系列培训--课时2

    Excel数据透视表系列培训 提高班课程:数据透视表的项目分组 主讲:Kevin Zhou         MVP(Microsoft Most Valuable Professional) 笔记:J ...

  7. python打开excel进行编辑_使用Python进行Excel文件处理

    本章节选自本人著<Python Basic Tutorial>第十五章 15. Excel文件处理 15.1 引言 数据处理是Python的一大应用场景,正如我在本书之前所反复强调的,基于 ...

  8. python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新

    项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...

  9. php excel转数组,php将excel数据转换为3d数组(php convert excel data into 3d array)

    php将excel数据转换为3d数组(php convert excel data into 3d array) 我有一个excel文件,其数据是一个3d数组. 我正在使用PHPExcel Objec ...

  10. python3读取excel数据-python3读取Excel表格数据的代码分享

    python3 读取Excel表格中的数据 需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- c ...

最新文章

  1. JPA保存数据自动加入创建人,修改人
  2. rowbounds分页oracle,Oracle使用MyBatis中RowBounds实现分页查询功能
  3. 上传文件重命名后,下载时,用文件原名,不用Guid命名
  4. C++函数调用方式(_stdcall, _pascal, _cdecl...)总结 收藏
  5. 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
  6. CompletableFuture异步调用
  7. JavaScript的一些常用方法
  8. 一个容易被忽视的css选择器
  9. Apollo配置中心热加载mysql_Apollo 配置中心部署注意事项
  10. [恢]hdu 1850
  11. Theano 中文文档 0.9 - 2. 发行说明
  12. linux mint 19新功能,Linux Mint 19.3将在2019年12月正式发布,附新功能简介
  13. 交叉编译iptables1.4.12的问题
  14. delphi 字符串占用空间_字符串在Python内部是如何省内存的
  15. Tensorflow实现简单的手写数字神经网络模型
  16. Qt Quick实现的疯狂算数游戏
  17. XML非法字符的处理
  18. matlab练习程序(生成加密p文件)
  19. java实例是什么_java 什么是实例
  20. 计算机思维和数学的那些事

热门文章

  1. 201771010106东文财《面向对象程序设计(java)》实验12
  2. Objective-C block
  3. C#线程从陌生到熟悉(4)
  4. python创建一个新的txt文件-如何在python中编辑文本文件并创建一个新的文本文件?...
  5. 不从事编程、学python有用吗-为什么你觉得C语言什么都不能做,学了没用?不可能的...
  6. 学了python能干啥-第9p,Python是什么?学了Python能干什么?
  7. python编程入门经典教程-2020年5个经典python编程入门视频教程推荐学习
  8. python画直方图代码-用python绘制直方图
  9. python编程语法大全-python语法汇总
  10. python入门自学-Python自学规划:一个月从入门到精通,每天做什么?