通过实例学习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中copy()方法的使用
May 21 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 Python
详解python的ORM中Pony用法
Feb 09 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
python读取文件名称生成list的方法
Apr 27 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
对Python信号处理模块signal详解
Jan 09 Python
python占位符输入方式实例
May 27 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
Python 中如何写注释
Aug 28 Python
详细总结Python常见的安全问题
May 21 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
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
javascript window对象属性整理
2009/10/24 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
Python Requests 基础入门
2016/04/07 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
六月份红领巾广播稿
2014/02/03 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
布达拉宫导游词
2015/02/02 职场文书
初中生物教学随笔
2015/08/15 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
python读取mnist数据集方法案例详解
2021/09/04 Python
python装饰器代码解析
2022/03/23 Python