通过实例学习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+mongodb数据抓取详细介绍
Oct 25 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
django用户登录验证的完整示例代码
Jul 21 Python
PyTorch预训练的实现
Sep 18 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
python 解压、复制、删除 文件的实例代码
Feb 26 Python
解决Python安装cryptography报错问题
Sep 03 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
利用python画出折线图
2018/07/26 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
jupyter notebook实现显示行号
2020/04/13 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
如何利用python进行时间序列分析
2020/08/04 Python
python基于openpyxl生成excel文件
2020/12/23 Python
给领导的致歉信范文
2014/01/13 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
新闻稿件写作范文
2015/07/18 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers