# coding: UTF-8
from pyExcelerator.ImportXLS import parse_xls
from pyExcelerator import Workbook
import string
class ExcelHandler():
#读取excel文件的内容,返回一个包含行列的集合
#@param file_full_name:
#@return: sheet_list[[0,[a,a,a]],[1,[b,b,b]],[2,[c,c,c]],[3,[d,d,d]]]
def read_xls(self, file_full_name):
results = []
#获得excel的所有"谢特"
sheets = parse_xls(file_full_name)
#迭代"谢特"-----------"谢特"[0]是"谢特"的名字."谢特"[1]是内容
for t in range(len(sheets)):
sheet = sheets[t]
result = []
#获得谢特[1]的长度,即,列数乘以行数的值
#已知有13个列,根据这个谢特[1]的长度得到一共有多少行
length = len(sheet[1]) / 13
#先创建一个满足excel格数的空数组
for ti in range(length + 1): #@UnusedVariable
result.append([" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "])
#迭代该谢特中的单元格,按照坐标插入到结果集中
for point in sheet[1]:
str_point = str(point)
#从谢特中获得行和列
_x = string.atoi(str_point.replace(" ", "").split(',')[0].replace("(", ""))
_y = string.atoi(str_point.replace(" ", "").split(',')[1].replace(")", ""))
try:
if (str(_y) == '12') | (str(_y) == '1') | (str(_y) == '2') | (str(_y) == '4') | (str(_y) == '7'):
if unicode(sheet[1][point]).find(".0") >= 0:
result[_x][_y] = unicode(sheet[1][point]).replace(".0", "")
continue;
result[_x][_y] = unicode(sheet[1][point])
except:
print str(_x)+","+str(_y)+"---"+str(len(result))+"---"+str(t)
results.append([sheet[0], result])
return results
#根据一个包含所有谢特的集合生成Excel文件
#@param sheet_list: sheet_list[[0,[a,a,a]],[1,[b,b,b]],[2,[c,c,c]],[3,[d,d,d]]]
#@param save_file_name:
def create_sheet_list(self, sheet_list, save_file_name):
wb = Workbook()
for sheet in sheet_list:
ws = wb.add_sheet(sheet[0])
# 写内容
for i in range(len(sheet[1])):
line = sheet[1][i]
for j in range(len(line)):
item = line[j]
ws.write(i , j, item)
wb.save(save_file_name)
#################
## 测试 读取--导出
#################
#eh = ExcelHandler()
#results = eh.read_xls('./datafiles/finallyLIYIN.xls')
#eh.create_sheet_list(results, "./hehehe.xls")
分享到:
相关推荐
Python 3.11.0-embed-amd64.zip 是一个针对AMD64架构的Python 3.11.0精简版发行包,它包含了一组核心库和运行时支持文件,允许用户在不安装完整Python环境的情况下运行Python程序。这个压缩包特别适合那些需要在没有...
10. **Python语言参考**:深入解析Python的语法和语义,是理解和使用Python不可或缺的部分。 11. **附录**:包括Python的版本历史、编码规范(PEP 8)和其他有用的资源。 这个PDF文档对于Python学习者和开发者来说...
原来是通过命令行下载的docx安装包还没有完全兼容python3,估计这个安装包还只兼容python 2(python2 和python3差别还是挺大的,虽然现在python 3出来很久了,但是不少三方库还没有更新),因此需要自己找一个兼容的包...
Python LDAP库是一个用于Python编程语言的开放源代码模块,它允许开发者与Lightweight Directory Access Protocol (LDAP)服务器进行交互。这个“python_ldap-3.4.4-cp39-cp39-win32.whl.zip”文件是Python LDAP库的...
Python是一种广泛使用的高级编程语言,以其易读性、简洁的语法和强大的功能而闻名。Python 3.7.7是该语言的一个稳定版本,提供了许多改进和新特性。本资源"python-3.7.7-docs-pdf-a4.zip"包含了一份详尽的Python ...
python-urlgrabber-3.9.1-11.el6.noarch.rpm
而这个库则为Python开发者提供了一种与XMind服务交互的方式,使得在Python环境中创建、编辑和上传XMind文件成为可能。 这个库的核心功能主要包括以下几个方面: 1. **文件操作**:能够读取本地的XMind文件,并进行...
python-iniparse-0.3.1-2.1.el6.noarch.rpm
Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13...
Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量...
python-urlgrabber-3.10-8.el7.noarch.rpm资源包,资源包,为什么不能0分……………………
centos7环境下离线安装python-devel需要的rpm文件,网站上下载最新的python-devel版本编译安装失败,从centos7的镜像里拷贝出来的低版本的rpm,测试安装成功。
Python 3.8.10 是 Python 编程语言的一个稳定版本,专为AMD64架构(也称为x86_64或64位)的Windows操作系统设计。这个压缩包"python-3.8.10-amd64.rar"包含了一个用于在Windows上安装Python 3.8.10的可执行文件...
Python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色Python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色Python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色Python操作CAD干货...
opencv_python-4.5.5.62-cp36-abi3-win_amd64.whl 适用关于64位Windows系统
Python 3.6.2 官方文档是一个详尽的资源,旨在帮助用户全面了解Python 3.6.2版本的特性和用法。这份文档包括了语言参考、标准库指南、开发人员手册以及安装和使用Python的信息。下面将详细讨论其中的关键知识点。 1...
opencv_python-3.4.2.16-cp37-cp37m-win_amd64.whl,方便大家下载,3.4.3以后有些算法被申请专利了,不是很好搞,提供3.4.2版的方便大家学习
opencv_python-3.4.0+contrib-cp36-cp36m-win_amd64.whl
为了简化这一过程,Python社区提供了一系列的库,其中`python_dateutil`是一个强大的扩展库,它提供了对日期和时间操作的高级功能。本文将详细介绍`python_dateutil`库以及其2.4.2版本的特点和使用方法。 `python_...