python Xls文档读写

1.模块安装

2.python 代码

  1 import  xlrd
  2 import  xlwt
  3 import  datetime
  4
  5 def set_style(name,height,format,bold=False):
  6     style = xlwt.XFStyle()
  7     if  format.strip()!=‘‘:
  8         style.num_format_str =format
  9     font  = xlwt.Font()
 10     font.name=name
 11     font.bold=bold
 12     font.color_index=4
 13     font.height=height
 14     alignment = xlwt.Alignment()
 15     #HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
 16     alignment.horz = xlwt.Alignment.HORZ_CENTER
 17     #VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
 18     alignment.vert = xlwt.Alignment.VERT_CENTER
 19     style.alignment = alignment
 20     style.font=font
 21     return style
 22
 23 def set_colstyle(sheet,cindex):
 24     col=sheet.col(cindex)
 25     col.width =256*20
 26     #col.height =100
 27
 28 def  writeXls(path):
 29     wb = xlwt.Workbook()
 30     sheet = wb.add_sheet(‘测试‘,cell_overwrite_ok=True)
 31     set_colstyle(sheet,3)
 32     #标题
 33     heads=[‘姓名‘,‘学科‘,‘分数‘,‘日期‘]
 34     for  h  in range(0,len(heads)):
 35         sheet.write(0,h,heads[h],set_style(‘Arial‘,300,‘‘,True))
 36
 37
 38     #数据
 39
 40     sheet.write_merge(1,2,0,0,‘张三‘,set_style(‘Arial‘,300,‘‘,False))
 41     sheet.write(1,1,‘语文‘,set_style(‘Arial‘,240,‘‘,False))
 42     sheet.write(1,2,85,set_style(‘Arial‘,240,‘‘,False))
 43     sheet.write(1,3,datetime.date.today(),set_style(‘Arial‘,240,‘yyyy/mm/dd‘,False))
 44     sheet.write(2,1,‘数学‘,set_style(‘Arial‘,240,‘‘,False))
 45     sheet.write(2,2,85,set_style(‘Arial‘,240,‘‘,False))
 46     sheet.write(2,3,datetime.date.today(),set_style(‘Arial‘,240,‘yyyy/mm/dd‘,False))
 47
 48     sheet.write_merge(3,4,0,0,‘李四‘,set_style(‘Arial‘,300,‘‘,False))
 49     sheet.write(3,1,‘语文‘,set_style(‘Arial‘,240,‘‘,False))
 50     sheet.write(3,2,95,set_style(‘Arial‘,240,‘‘,False))
 51     sheet.write(3,3,datetime.date.today(),set_style(‘Arial‘,240,‘yyyy/mm/dd‘,False))
 52     sheet.write(4,1,‘数学‘,set_style(‘Arial‘,240,‘‘,False))
 53     sheet.write(4,2,95,set_style(‘Arial‘,240,‘‘,False))
 54     sheet.write(4,3,datetime.date.today(),set_style(‘Arial‘,240,‘yyyy/mm/dd‘,False))
 55
 56
 57     wb.save(path)
 58
 59 def ismerge(sheet,merge,r,c):
 60     #merge=sheet.merged_cells
 61     for m in merge:
 62        if r>=m[0] and r<m[1] and c==m[2]:
 63            r=m[0]
 64            c==m[2]
 65            break
 66
 67     return r,c
 68
 69 def  readXls(path):
 70     wb=xlrd.open_workbook(path,formatting_info=True)
 71     #sheetname=wb.sheet_names()[0]
 72     sheet=wb.sheet_by_index(0)
 73     rows=sheet.nrows
 74     cols=sheet.ncols
 75     merge=sheet.merged_cells
 76     #merged_cells返回的这四个参数的含义是:(row,row_range,col,col_range),
 77     #其中[row,row_range)包括row,不包括row_range
 78
 79     print(‘--------------------------------------------------------------------‘)
 80     for r in range(0,rows):
 81         listStr = []
 82
 83         for c in range(0,cols):
 84             merg=ismerge(sheet,merge,r,c)
 85             if (sheet.cell(merg[0],merg[1]).ctype==3):
 86                 data_value=xlrd.xldate_as_tuple(sheet.cell_value(merg[0],merg[1]),wb.datemode)
 87                 #print(datetime.date(*data_value[:3]).strftime(‘%Y/%m/%d‘))
 88                 listStr.append(datetime.date(*data_value[:3]).strftime(‘%Y/%m/%d‘))
 89             else:
 90                 #print(sheet.cell_value(merg[0],merg[1]))
 91                 listStr.append(sheet.cell_value(merg[0],merg[1]))
 92             #print(sheet.cell(merg[0],merg[1]).value)
 93             #print(sheet.cell(r,c).ctype)
 94
 95         print(‘ |\t‘.join(str(s) for s in listStr if s not in [None]))
 96         print(‘--------------------------------------------------------------------‘)
 97
 98 if __name__ == ‘__main__‘:
 99
100     #writeXls(‘H:\测试.xls‘)
101     readXls(‘H:\测试.xls‘)
102
103
104
105
106
107     

3.效果展示

原文地址:https://www.cnblogs.com/linsu/p/8960766.html

时间: 2024-10-21 10:54:44

python Xls文档读写的相关文章

Python 单元测试 & 文档测试

1.1   单元测试 1.1.1   单元测试编写 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 编写一个Dict类,这个类的行为和dict一致,但是通过属性来访问. >>> d = Dict(a=1, b=2) >>> d['a'] 1 >>> d.a 1 class dict编写如下: [[email protected] python]# cat mydict.py #!/usr/bin/python # -*- co

如何查询python帮助文档;sublime 快捷键

# 帮助文档 1.dir函数式可以查看对象的属性:Python命令窗口输入 dir(str) 即可查看str的属性. 2. 如何查看对象某个属性的帮助文档 ? 如要查看str的split属性,可以用__doc__(双下划线), 使用方法为print(str.split.__doc__) 或者help函数,使用方法为help(str.split). 要注意在python3.4中查看其它模块的对象属性要在help函数中加上‘’,help('time.strftime'): 或者先加载模块 impor

如何在命令行模式下查看Python帮助文档---dir、help、__doc__

如何在命令行模式下查看Python帮助文档---dir.help.__doc__ 1.dir函数式可以查看对象的属性,使用方法很简单,举str类型为例,在Python命令窗口输入 dir(str) 即可查看str的属性,如下图所示: 2.如何查看对象某个属性的帮助文档 ?如要查看str的split属性,可以用__doc__, 使用方法为print(str.split.__doc__),如下图所示: 3.查看对象的某个属性还可以用help函数,使用方法为help(str.split),如下图所示:

SpringMVC 下载XLS文档的设置

页面设置参考上文.SpringMVC 下载文本文档的设置 此文是关于xls文档下载的,这个文档使用Apache的POI生成,需要的jar包可以从下面地址下载: http://pan.baidu.com/s/1i3IJttF 下面是controller代码,比上一篇文本的少很多: @RequestMapping("/downloadAnnotatorListXls") public ModelAndView downloadAnnotatorListXls(HttpServletRequ

python统计文档中词频

python统计文档中词频的小程序 python版本2.7 程序如下,测试文件与完整程序在我的github中 1 #统计空格数与单词数 本函数只返回了空格数 需要的可以自己返回多个值 2 def count_space(path): 3 number_counts = 0 4 space_counts = 0 5 number_list = [] 6 7 with open(path, 'r') as f: 8 for line in f: 9 line = line.strip() 10 sp

QJsonDocument实现Qt下JSON文档读写

版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QJsonDocument实现Qt下JSON文档读写     本文地址:http://techieliang.com/2017/12/718/ 文章目录 1. 介绍  1.1. 错误分类  1.2. Json内容读写  1.3. 数据类型 2. 读写操作  2.1. json范例 3. 创建 4. 解析 5. 其他 1. 介绍 Qt提供了一系列类以供进行Json 文档的读写,分别为: QJs

Swing表格数据转xls文档

花了一下午的时间终于实现了Swing表格数据转xls文档与读取xls文档数据. 接下来上代码 1.弹出文件,目录选择框 exportBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String name = "数据.xls"; String defaultPath = "D://temp"; //构造文件保存对话框

运用好Python处理文档的小技巧,让你成为女神心中superstar!

今天小编给大家带来了一篇,主要运用Python_docx模块处理word文档的基本技巧来介绍,其中最主要的是如何对图片进行提取和写入. python已有几个模块可处理word文档.excel表格.以及ppt演示文稿.首先,汇总列出各模块对不同版本文件的处理能力: docx模块:可读取.写入.docx文档(不支持.doc文档!!!) xlrd模块:可读取.xls..xlsx表格 xlwt模块:可写入.xls表格(不可写入.xlsx文件!!!) pptx模块:可读取.写入.ppt..pptx(.pp

python 以文档形式读入读出

对之前的代码总结. python3方法1:文档以.json格式保存在文件夹中,文件夹只有单层,对文件夹中文档进行分个读取(应用见20170525-052501.py) 1 path = r'C:\Users\user\Desktop\heilongjiang.dbw.cn\\' 2 documents = [] 3 num = 0 4 for file in os.listdir(path)[0:]: 5 file = path + file 6 if not file.endswith('.j