通过实例学习Python Excel操作
作者:小小程序员ol 时间:2021-01-21 21:55:12
这篇文章主要介绍了通过实例学习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内容如下:
运行结果:
表格总行数 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)
运行结果:
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的内容:
查询表中内容:
来源:https://www.cnblogs.com/python960410445/p/12153611.html
标签:Python,Excel,操作
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
如何把Recordset转换成彩色的XML文件?
2009-11-02 20:22:00
javascript 改变字体大小方法集合
2023-07-06 16:58:02
用户体验在商业利益面前什么都不是
2009-06-12 12:07:00
有效LOGO设计的最重要的提示
2010-06-09 12:05:00
![](https://img.aspxhome.com/file/UploadPic/20106/9/01-95s.gif)
python被修饰的函数消失问题解决(基于wraps函数)
2021-07-22 17:32:34
Golang算法问题之数组按指定规则排序的方法分析
2023-10-06 01:37:14
PHP之mysql位运算案例讲解
2023-06-13 06:16:19
![](https://img.aspxhome.com/file/2023/2/55552_0s.png)
Firefox的默认样式表
2008-05-09 12:06:00
如何在小空间放置大图片
2009-08-04 13:04:00
![](https://img.aspxhome.com/file/UploadPic/20098/4/01-47s.jpg)
线上问题排查之golang使用json进行对象copy
2023-10-06 05:03:23
![](https://img.aspxhome.com/file/2023/9/97169_0s.png)
《JavaScript语言精粹》
2009-04-03 11:27:00
巧妙的Sql函数日期处理方法
2009-05-25 17:59:00
连续字符自动换行的解决方案
2008-12-04 16:39:00
thinkphp6如何使用中间件记录行为日志
2023-06-13 14:43:44
![](https://img.aspxhome.com/file/2023/1/55501_0s.png)
一文让你秒懂精通pip并快速体验深度学习应用【建议收藏】
2022-07-08 22:27:56
![](https://img.aspxhome.com/file/2023/7/72927_0s.png)
python里运用私有属性和方法总结
2023-03-29 15:33:57
![](https://img.aspxhome.com/file/2023/0/69050_0s.png)
基于PHP常用文件函数和目录函数整理
2023-06-09 22:02:34
Python局部函数及用法详解(含nonlocal关键字)
2023-07-26 05:02:52
Mysql的服务无法启动的1067错误解决
2012-01-05 19:31:56
BootStrap创建响应式导航条实例代码
2023-08-09 02:09:55
![](https://img.aspxhome.com/file/2023/4/56054_0s.gif)