通过实例学习Python Excel操作


Posted in Python onJanuary 06, 2020

这篇文章主要介绍了通过实例学习Python Excel操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.python 读取Excel

# -*- coding: utf-8 -*-
import xlrd
import os,sys

reload(sys)
sys.setdefaultencoding("utf8")

filename = 'text.xlsx'
filename = filename.decode('utf-8')
book = xlrd.open_workbook(filename)
sheet1 = book.sheets()[0]
nrows = sheet1.nrows
print u'表格总行数 ',nrows
ncols = sheet1.ncols
print u'表格总列数 ',ncols

##查询表头
excelhead = []
for i in range(ncols):
 excel_head_values = sheet1.col_values(i)
 excelhead.append(excel_head_values[0])

##查询行的值
excelhang = []
for i in range(nrows)[1:]:
 row_values = sheet1.row_values(i)
 print 'User:' + row_values[2] + ' Filename:' + row_values[0] + ' Tablename:' + row_values[1]

text.xlsx内容如下:

通过实例学习Python Excel操作

运行结果:

表格总行数 4
表格总列数 3
User:edw Filename:sh002_zyb_tx_chk_h0200.py Tablename:SH002_ZYB_TX_CHK_H0200
User:etl Filename:sh002_a_h0200.py Tablename:SH002_A_H0200
User:app Filename:sh002_b_h0200.py Tablename:SH002_B_H0200

2.python 写入Excel

# -*- coding: utf-8 -*-
import xlwt
import pymysql

def sql_connect(sql):
  conn = pymysql.connect(host='192.168.3.xx',port=3306, user='root', password='123456',db='hive',charset='utf8')
  cur = conn.cursor()
  cur.execute(sql)
  data = cur.fetchall()
  cur.close()
  conn.close()
  return data


def write_excel(filename, data):
  book = xlwt.Workbook()      #创建excel对象
  sheet = book.add_sheet('PARTITIONS') #添加一个表Sheet
  c = 0 #保存当前列
  for d in data: #取出data中的每一个元组存到表格的每一行
    for index in range(len(d)):  #将每一个元组中的每一个单元存到每一列
      sheet.write(c,index,d[index])
    c += 1
  book.save(filename) #保存excel

sql = 'select * from PARTITIONS limit 100'
res = sql_connect(sql)
write_excel('partitions.xls', res)

运行结果:

通过实例学习Python Excel操作

3.python Excel写入表内

# -*- coding: utf-8 -*-
import xlwt
import xlrd
import pymysql

#从excel读取数据写入mysql
def excel_to_mysql(filename):
  conn = pymysql.connect(host='192.168.3.xx',port=3306, user='root', password='123456',db='hive',charset='utf8')
  cur = conn.cursor()   #连接数据库
  book = xlrd.open_workbook(filename)
  sheet = book.sheet_by_name('Sheet1')
  rows = sheet.nrows   #获取行数
  for r in range(1,rows): #将标题之外的其他行写入数据库
    r_values = sheet.row_values(r)
    sql = 'insert into user_zw values(%s,%s,%s)' #有几个字段需要几个%s
    data = cur.execute(sql,r_values) #将每一行插入sql
  conn.commit()      #插入所有数据后提交
  cur.close()
  conn.close()
excel_to_mysql('user_zw.xls')

user_zw.xls的内容:

通过实例学习Python Excel操作

查询表中内容:

通过实例学习Python Excel操作

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
python3 读写文件换行符的方法
Apr 09 Python
python视频按帧截取图片工具
Jul 23 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
Feb 07 Python
Python基础之字符串操作常用函数集合
Feb 09 Python
浅谈Python中的模块
Jun 10 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
Python 字典一个键对应多个值的方法
Sep 29 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 #Python
python与mysql数据库交互的实现
Jan 06 #Python
win10系统下python3安装及pip换源和使用教程
Jan 06 #Python
基于python实现文件加密功能
Jan 06 #Python
Pytorch 实现冻结指定卷积层的参数
Jan 06 #Python
如何使用python实现模拟鼠标点击
Jan 06 #Python
pytorch 实现查看网络中的参数
Jan 06 #Python
You might like
Content-type 的说明
2006/10/09 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
2016/06/03 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
python僵尸进程产生的原因
2017/07/21 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
python默认参数调用方法解析
2020/02/09 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
巴西购物网站:Estrela10
2018/12/13 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
个人自荐信
2013/12/05 职场文书
单位提档介绍信
2014/01/17 职场文书
优秀医生事迹材料
2014/02/12 职场文书
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL