`
metallica_1860
  • 浏览: 33580 次
  • 性别: 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-3.11.0-embed-amd64.zip

    Python 3.11.0-embed-amd64.zip 是一个针对AMD64架构的Python 3.11.0精简版发行包,它包含了一组核心库和运行时支持文件,允许用户在不安装完整Python环境的情况下运行Python程序。这个压缩包特别适合那些需要在没有...

    python-3.12.0-docs-pdf-a4.zip

    10. **Python语言参考**:深入解析Python的语法和语义,是理解和使用Python不可或缺的部分。 11. **附录**:包括Python的版本历史、编码规范(PEP 8)和其他有用的资源。 这个PDF文档对于Python学习者和开发者来说...

    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.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 根据用户输入编码批量生成EAN-13条形码 Python源码

    Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13...

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

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

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

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

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

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

    python-3.8.10-amd64.rar

    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干货系列-批量设置多个cad文档图层、文字样式、颜色Python操作CAD干货...

    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-3.6.2-docs-pdf-a4

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

    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.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_...

Global site tag (gtag.js) - Google Analytics