通过实例学习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在指定目录下查找gif文件的方法
May 04 Python
你应该知道的python列表去重方法
Jan 17 Python
Python装饰器实现几类验证功能做法实例
May 18 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
Jun 15 Python
Python数据结构之双向链表的定义与使用方法示例
Jan 16 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 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判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
Python连接phoenix的方法示例
2017/09/29 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
Python中的取模运算方法
2018/11/10 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
优秀驾驶员先进事迹材料
2014/05/04 职场文书
导师工作推荐信范文
2014/05/17 职场文书
2015年助残日活动总结
2015/03/27 职场文书
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers