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

    这个嵌入式版本是为那些希望在不安装完整Python环境的情况下运行Python程序的用户设计的。 首先,我们来看一下这个压缩包中包含的关键文件: 1. **python311._pth**:这是一个路径配置文件,它告诉Python解释器在...

    python-3.8.0-embed-win32.zip

    这两个文件是Python运行时的核心,用于解析和执行Python代码。 `libcrypto-1_1.dll` 和 `libssl-1_1.dll` 是OpenSSL库的动态链接库文件,用于提供加密和安全套接层(SSL/TLS)协议的支持。这些文件在处理网络通信和...

    python-3.12.0-docs-pdf-a4.zip

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

    python-3.9.10-amd64.exe

    Python是一种广泛使用的高级编程语言,尤其在Web开发、数据分析、人工智能和自动化等领域有着重要的应用。"python-3.9.10-amd64.exe" 是Python 3.9.10版本针对AMD64架构(也称为x86_64或64位)的Windows操作系统提供...

    python_docx-0.8.10-py2.py3-none-any.whl

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

    python_docx-0.8.11-py3-none-any.whl.zip

    Python_docx是一个强大的库,用于在Python环境中创建、读取和修改Microsoft Word(.docx)文件。这个压缩包“python_docx-0.8.11-py3-none-any.whl.zip”包含了该库的一个特定版本,即0.8.11,适用于Python 3环境。...

    python-ldap windows 预编译包

    auth-ldap,但还依赖python_ldap包,在windows上装这些包费老鼻子劲,csdn上找呢又不全,收分还多贵的,因此找到了之后将python3.7-11的包都给大家提供,不好意思挣点分,因为有些时候我也需要去下载东西,有需要的...

    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-3.9.13-amd64.exe

    python-3.9.13-amd64.exe windows安装包,x64

    python生成word,python-docx-template.zip

    Python生成Word文档是编程领域中一个实用的技能,特别是在办公自动化和报告生成的场景中。`python-docx`是一个强大的库,它允许开发者通过Python代码创建、修改和操作Microsoft Word (.docx)文件。`python-docx-...

    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-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系统

Global site tag (gtag.js) - Google Analytics