Python简单读写Xls格式文档的方法示例
作者:sulin 时间:2021-11-02 13:27:30
本文实例讲述了Python简单读写Xls格式文档的方法。分享给大家供大家参考,具体如下:
1. 模块安装
使用pip install
命令安装,
即:
pip install xlrd
pip install xlwt
如下图:
2. python 代码
import xlrd
import xlwt
import datetime
def set_style(name,height,format,bold=False):
style = xlwt.XFStyle()
if format.strip()!='':
style.num_format_str =format
font = xlwt.Font()
font.name=name
font.bold=bold
font.color_index=4
font.height=height
alignment = xlwt.Alignment()
#HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.horz = xlwt.Alignment.HORZ_CENTER
#VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER
style.alignment = alignment
style.font=font
return style
def set_colstyle(sheet,cindex):
col=sheet.col(cindex)
col.width =256*20
#col.height =100
def writeXls(path):
wb = xlwt.Workbook()
sheet = wb.add_sheet('测试',cell_overwrite_ok=True)
set_colstyle(sheet,3)
#标题
heads=['姓名','学科','分数','日期']
for h in range(0,len(heads)):
sheet.write(0,h,heads[h],set_style('Arial',300,'',True))
#数据
sheet.write_merge(1,2,0,0,'张三',set_style('Arial',300,'',False))
sheet.write(1,1,'语文',set_style('Arial',240,'',False))
sheet.write(1,2,85,set_style('Arial',240,'',False))
sheet.write(1,3,datetime.date.today(),set_style('Arial',240,'yyyy/mm/dd',False))
sheet.write(2,1,'数学',set_style('Arial',240,'',False))
sheet.write(2,2,85,set_style('Arial',240,'',False))
sheet.write(2,3,datetime.date.today(),set_style('Arial',240,'yyyy/mm/dd',False))
sheet.write_merge(3,4,0,0,'李四',set_style('Arial',300,'',False))
sheet.write(3,1,'语文',set_style('Arial',240,'',False))
sheet.write(3,2,95,set_style('Arial',240,'',False))
sheet.write(3,3,datetime.date.today(),set_style('Arial',240,'yyyy/mm/dd',False))
sheet.write(4,1,'数学',set_style('Arial',240,'',False))
sheet.write(4,2,95,set_style('Arial',240,'',False))
sheet.write(4,3,datetime.date.today(),set_style('Arial',240,'yyyy/mm/dd',False))
wb.save(path)
def ismerge(sheet,merge,r,c):
#merge=sheet.merged_cells
for m in merge:
if r>=m[0] and r<m[1] and c==m[2]:
r=m[0]
c==m[2]
break
return r,c
def readXls(path):
wb=xlrd.open_workbook(path,formatting_info=True)
#sheetname=wb.sheet_names()[0]
sheet=wb.sheet_by_index(0)
rows=sheet.nrows
cols=sheet.ncols
merge=sheet.merged_cells
#merged_cells返回的这四个参数的含义是:(row,row_range,col,col_range),
#其中[row,row_range)包括row,不包括row_range
print('--------------------------------------------------------------------')
for r in range(0,rows):
listStr = []
for c in range(0,cols):
merg=ismerge(sheet,merge,r,c)
if (sheet.cell(merg[0],merg[1]).ctype==3):
data_value=xlrd.xldate_as_tuple(sheet.cell_value(merg[0],merg[1]),wb.datemode)
#print(datetime.date(*data_value[:3]).strftime('%Y/%m/%d'))
listStr.append(datetime.date(*data_value[:3]).strftime('%Y/%m/%d'))
else:
#print(sheet.cell_value(merg[0],merg[1]))
listStr.append(sheet.cell_value(merg[0],merg[1]))
#print(sheet.cell(merg[0],merg[1]).value)
#print(sheet.cell(r,c).ctype)
print(' |\t'.join(str(s) for s in listStr if s not in [None]))
print('--------------------------------------------------------------------')
if __name__ == '__main__':
#writeXls('H:\测试.xls')
readXls('H:\测试.xls')
3.效果展示
希望本文所述对大家Python程序设计有所帮助。
来源:https://www.cnblogs.com/linsu/p/8960766.html
标签:Python,Xls格式文档
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
MSSQL数据库还原图解教程
2009-01-12 17:58:00
![](https://img.aspxhome.com/file/UploadPic/20091/12/34_20071005121043_mq==-29s.jpg)
3个比较好用的asp检查函数
2007-09-24 13:25:00
两级联动select刷新后其值保持不变的实现方法
2023-11-05 11:39:33
PHP循环与分支知识点梳理
2023-05-29 13:09:21
Python利器openpyxl之操作excel表格
2022-11-16 18:46:58
![](https://img.aspxhome.com/file/2023/5/72095_0s.png)
asp.net 将一个图片以二进制值的形式存入Xml文件中的实例代码
2023-07-23 13:31:30
前端模板引擎
2010-07-27 12:33:00
巧用缓存提高ASP应用程序的性能
2008-03-09 15:23:00
网页制作前台之javascript
2013-07-23 08:32:59
django 在原有表格添加或删除字段的实例
2023-11-25 04:21:08
ASP模拟MVC模型的编程方式
2008-10-15 14:51:00
python获取全国最新省市区数据并存入表实例代码
2021-10-19 14:16:23
![](https://img.aspxhome.com/file/2023/1/76971_0s.png)
Python面向对象之静态属性、类方法与静态方法分析
2021-03-28 15:14:22
php支持中文字符串分割的函数
2023-11-18 21:42:04
python opencv 检测移动物体并截图保存实例
2023-11-05 16:10:35
![](https://img.aspxhome.com/file/2023/9/63919_0s.jpg)
Python sublime安装及配置过程详解
2021-07-06 19:57:47
![](https://img.aspxhome.com/file/2023/6/67736_0s.png)
python读取csv文件示例(python操作csv)
2023-02-28 23:12:02
Python使用pyecharts绘制世界地图,省级地图,城市地图实例详解
2022-08-08 06:37:22
![](https://img.aspxhome.com/file/2023/9/72119_0s.jpg)
如何使用PyCharm将代码上传到GitHub上(图文详解)
2021-02-18 05:13:31
![](https://img.aspxhome.com/file/2023/2/83652_0s.png)
Python实现提取音乐频谱的方法详解
2022-01-27 07:03:08
![](https://img.aspxhome.com/file/2023/2/72072_0s.jpg)