zoukankan      html  css  js  c++  java
  • Linux安装Python xlrd、xlwt、xlutils模块

    一、安装setuptools:

    可以先打开setuptools的python官网看看setuptools软件包如何安装:

    1
    > wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py > python ez_setup.py --user 

    也可以下载setuptools软件包后安装:

    (1)下载setuptools包

    1
    # wget http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz 

    (2)解压setuptools包

    1
    #tar zxvf setuptools-2.0.tar.gz 

    (3)切换到当前文件夹

    1
    #cd setuptools-2.0  

    (4)编译setuptools

    1
    #python setup.py build  

    (5)开始执行setuptools安装

    1
    #python setup.py install

    参考:

    1
    from:http://www.jb51.net/article/101444.htm

     二、 安装xlrd、xlwt、xlutils

    xlrd:是python从excel读数据的第三方控件;
    xlwt:是python从excel写数据的第三方控件;
    xlutils:是python使用xlrd、xlwt的工具箱。若安装不成功,可能原因是需要安装setuptools。

    第一种方法()

    1
    2
    3
    4
    5
    [root@vm4 python]# pip  install xlrd
     
    [root@vm4 python]# pip  install xlwt
     
    [root@vm4 python]# pip  install xlutils

      

    第二种方法:(我用这个种方法)

    1、下载文件xlrd-0.9.3.tar.gz,xlwt-0.7.5.tar.gz,xlutils-1.7.1.tar.gz并上传至python

    2、解压安装xlrd

    1
    2
    3
    [root@vm4 python]# tar -zxvf xlrd-0.9.3.tar.gz
    [root@vm4 python]# cd xlrd-0.9.3
    [root@vm4 xlrd-0.9.3]# python setup.py install 

    3、解压安装xlwt

    1
    2
    3
    [root@vm4 python]# tar -zxvf xlwt-0.7.5.tar.gz
    [root@vm4 python]# cd xlwt-0.7.5
    [root@vm4 xlwt-0.7.5]# python setup.py install

    4、解压安装xlutils

    1
    2
    3
    [root@vm4 python]# tar -zxvf xlutils-1.7.1.tar.gz
    [root@vm4 python]# cd xlutils-1.7.1
    [root@vm4 xlutils-1.7.1]# python setup.py install 

    1.1 实战例子

    复制代码
    # -*- coding: utf-8 -*-
    __author__ = 'ShengLeQi'
    import xlwt
    import pymysql
    import  sys,os
    import datetime
    def mysql_m():  #mysql数据连接部分
        # 打开数据库连接
        db = pymysql.connect("10.0.0.101","sheng","123456","Sheng_DB" ,charset='utf8')
        # 使用cursor()方法获取操作游标
        cursor = db.cursor()
        # SQL 查询语句
        sql = "SELECT * FROM student "
        try:
            # 执行SQL语句
            cursor.execute(sql)
            # 获取所有记录列表
            results = cursor.fetchall()
            # print(results)
            # print(len(results[0]))
            return  results
        except:
            print("Error: unable to fetch data")
    
    def set_style(name,height,bold=False):  #字体设置
        """
        设置单元格样式
        :param name: 字体名字
        :param height: 字体大小
        :param bold: 是否加粗
        :return: 返回样式
        """
        style = xlwt.XFStyle()
        font = xlwt.Font()
        font.name = name
        font.bold = bold
        font.color_index = 4
        font.height = height
        style.font = font
        return style
    
    def write_excel():  #写入xls部分
        """
        写表格
        :return:
        """
        f = xlwt.Workbook()  # 创建工作簿
        sheet1 = f.add_sheet('students',cell_overwrite_ok=True) ##第二参数用于确认同一个cell单元是否可以重设值。
    
        row0 = ['id','性别','班级编号','姓名']
        # 生成第一行
        for i in range(len(row0)):
            sheet1.write(0,i,row0[i],set_style('宋体',200,True)) # 200对应的是10号字体,如果设置太小,可能看上去像空Excel,实际上是有内容的
        results=mysql_m()
        for count,row in  enumerate(results):
            for i in range(len(row)):
                sheet1.write(count+1,i,row[i],set_style('宋体',200,True))
        f.save('test1.xls')
        now_time = datetime.datetime.now()
        yes_time = now_time + datetime.timedelta(days=-1)
        yes_time = (yes_time.strftime('%Y%m%d'))
        if os.path.exists(yes_time) is not True:
            os.makedirs(yes_time)
        path=os.path.join(os.getcwd(),yes_time,'test_time.xls')
        f.save(path)
    
    if __name__ == '__main__':
        write_excel()
    复制代码
  • 相关阅读:
    Entity Framework Core 2.0 新特性
    asp.net core部署时自定义监听端口,提高部署的灵活性
    asp.net core使用jexus部署在linux无法正确 获取远程ip的解决办法
    使用xshell连接服务器,数字键盘无法使用解决办法
    使用Jexus 5.8.2在Centos下部署运行Asp.net core
    【DevOps】DevOps成功的八大炫酷工具
    【Network】Calico, Flannel, Weave and Docker Overlay Network 各种网络模型之间的区别
    【Network】UDP 大包怎么发? MTU怎么设置?
    【Network】高性能 UDP 应该怎么做?
    【Network】golang 容器项目 flannel/UDP相关资料
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/15613068.html
Copyright © 2011-2022 走看看