`
metallica_1860
  • 浏览: 33191 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

python是个什么东西---pyExcelerator---解析和生成不带样式的xls

阅读更多



# 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_docx-0.8.10-py2.py3-none-any.whl

    原来是通过命令行下载的docx安装包还没有完全兼容python3,估计这个安装包还只兼容python 2(python2 和python3差别还是挺大的,虽然现在python 3出来很久了,但是不少三方库还没有更新),因此需要自己找一个兼容的包...

    python_ldap-3.4.4-cp39-cp39-win32.whl.zip

    Python LDAP库是一个用于Python编程语言的开放源代码模块,它允许开发者与Lightweight Directory Access Protocol (LDAP)服务器进行交互。这个“python_ldap-3.4.4-cp39-cp39-win32.whl.zip”文件是Python LDAP库的...

    python-3.7.3-docs-pdf-a4.zip

    - 新特性:Python 3.7.3引入了一些新的语法特性,如数据类(data classes)、异步生成器(async generators)和类型注解改进等,这些都极大地提高了代码的可读性和可维护性。 - 性能优化:Python 3.7.3在性能方面...

    python-3.7.7-docs-pdf-a4.zip

    Python是一种广泛使用的高级编程语言,以其易读性、简洁的语法和强大的功能而闻名。Python 3.7.7是该语言的一个稳定版本,提供了许多改进和新特性。本资源"python-3.7.7-docs-pdf-a4.zip"包含了一份详尽的Python ...

    python-urlgrabber-3.9.1-11.el6.noarch.rpm

    python-urlgrabber-3.9.1-11.el6.noarch.rpm

    Python库 | xmind-sdk-python-upload-file-1.0.tar.gz

    而这个库则为Python开发者提供了一种与XMind服务交互的方式,使得在Python环境中创建、编辑和上传XMind文件成为可能。 这个库的核心功能主要包括以下几个方面: 1. **文件操作**:能够读取本地的XMind文件,并进行...

    python-iniparse-0.3.1-2.1.el6.noarch.rpm

    python-iniparse-0.3.1-2.1.el6.noarch.rpm

    Python实战示例自动办公-02 批量生成PPT版荣誉证书.zip

    Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量生成PPT版荣誉证书Python实战自动办公-02 批量...

    opencv_python-2.4.13.2-cp27-cp27m-win_amd64.whl

    opencv_python-2.4.13.2-cp27-cp27m-win_amd64.whl opencv_python-2.4.13.2-cp27-cp27m-win_amd64.whl opencv_python-2.4.13.2-cp27-cp27m-win_amd64.whl opencv_python-2.4.13.2-cp27-cp27m-win_amd64.whl

    python-3.8.3rc1-docs-html.zip

    Python 3.8.3rc1是Python 3.x系列中的一个重要版本,它在功能、性能和稳定性上都有所提升。而“python-3.8.3rc1-docs-html.zip”这个压缩包则包含了该版本的官方中文帮助文档,对于学习和理解Python 3.8.3的特性至关...

    python-urlgrabber-3.10-8.el7.noarch.rpm

    python-urlgrabber-3.10-8.el7.noarch.rpm资源包,资源包,为什么不能0分……………………

    opencv_python-4.5.5.62-cp36-abi3-win_amd64.whl

    opencv_python-4.5.5.62-cp36-abi3-win_amd64.whl 适用关于64位Windows系统

    【资源免费分享】Python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色

    Python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色Python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色Python操作CAD干货系列-批量设置多个cad文档图层、文字样式、颜色Python操作CAD干货...

    python-devel-2.7.5-34.el7.x86_64.rpm

    centos7环境下离线安装python-devel需要的rpm文件,网站上下载最新的python-devel版本编译安装失败,从centos7的镜像里拷贝出来的低版本的rpm,测试安装成功。

    python-3.6.2-docs-pdf-a4

    Python 3.6.2 官方文档是一个详尽的资源,旨在帮助用户全面了解Python 3.6.2版本的特性和用法。这份文档包括了语言参考、标准库指南、开发人员手册以及安装和使用Python的信息。下面将详细讨论其中的关键知识点。 1...

    opencv_python-3.4.0+contrib-cp36-cp36m-win_amd64.whl

    opencv_python-3.4.0+contrib-cp36-cp36m-win_amd64.whl

    python_dateutil-2.4.2-py2.py3-none-any.whl

    为了简化这一过程,Python社区提供了一系列的库,其中`python_dateutil`是一个强大的扩展库,它提供了对日期和时间操作的高级功能。本文将详细介绍`python_dateutil`库以及其2.4.2版本的特点和使用方法。 `python_...

    opencv_python-3.4.2.16-cp37-cp37m-win_amd64.whl

    opencv_python-3.4.2.16-cp37-cp37m-win_amd64.whl,方便大家下载,3.4.3以后有些算法被申请专利了,不是很好搞,提供3.4.2版的方便大家学习

    opencv-python 3.4.1.15及 opencv-contrib-python 3.4.1.15 win64版文件

    适用于Windows64位,对应Python 3.6版本,OpenCV为3.4.1.15版本;内含有《opencv_contrib_python-3.4.1.15-cp36-cp36m-win_amd64.whl》和《opencv_python-3.4.1.15-cp36-cp36m-win_amd64.whl》两个文件

Global site tag (gtag.js) - Google Analytics