通过实例学习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网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
Jun 09 Python
Python的装饰器使用详解
Jun 26 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
Python wxPython库Core组件BoxSizer用法示例
Sep 03 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
Python 多进程、多线程效率对比
Nov 19 Python
python爬取某网站原图作为壁纸
Jun 02 Python
Python TypeError: ‘float‘ object is not subscriptable错误解决
Dec 24 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
php中的时间处理
2006/10/09 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
python解析json实例方法
2013/11/19 Python
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
python3中set(集合)的语法总结分享
2017/03/24 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
Python列表元素常见操作简单示例
2019/10/25 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
少年犯观后感
2015/06/11 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
检讨书格式
2019/04/25 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript
vue使用watch监听属性变化
2022/04/30 Vue.js