• Python-模块XlsxWriter将数据写入excel


    1.目的

    用xlwt来生成excel的,生成的后缀名为xls,在xlwt中生成的xls文件最多能支持65536行数据。
    python XlsxWriter模块创建aexcel表格,生成的文件后缀名为.xlsx,最大能够支持1048576行数据,16384列数据

    安装:命令:pip install XlsxWriter (或者 easy_install XlsxWriter)

    2.操作命令

    import xlsxwriter
    
    #格式的设置
    def xlsx_style(**kwargs):
        style = {
            'bold': kwargs.get('bold', False),  # 加粗
            'font_name': kwargs.get('font_name', 'SimSun'),  # 字体类型,默认宋体
            'font_size': kwargs.get('font_size', 12),  # 字体大小,默认12
            'font_color': kwargs.get('font_color', '#000000'),  # 字体颜色,黑色
            'align': kwargs.get('align', 'center'),  # 默认水平居中
            'valign': kwargs.get('valign', 'vcenter'),  # 默认垂直居中
            'text_wrap': kwargs.get('text_wrap', True),  # 默认自动换行
            'top': kwargs.get('top', 1),  # 上边界,线条宽度
            'bottom': kwargs.get('bottom', 1),  # 边界
            'left': kwargs.get('left', 1),  # 边界
            'right': kwargs.get('right', 1),  # 边界
            'bg_color': kwargs.get('bg_color', '#FFFFFF'),  # 背景颜色,白色
            # 其他类型设置格式可以接着写
        }
    
        return style
    
    def download_excel(data):
        now = datetime.datetime.now().strftime('%Y-%m-%d') #当前时间
        filename = u'%s/t_%s.xlsx' % (excel_path, now)  #存放excel的路径
        workfile = xlsxwriter.Workbook(filename)  # 创建Excel文件,保存
        worksheet = workfile.add_worksheet('匹配失败反馈表')  # 创建工作表
        format4 = workfile.add_format({'font_size': '12', 'align': 'center', 'valign': 'vcenter', 'bold': True, 'font_color': '#217346', 'bg_color':'#FFD1A4'})
    
        col=['A1','B1','C1','D1','E1','F1','G1','H1','I1','J1','K1','L','M','N']
      #设置自己想要的标题
        title=[u'contract_id','asset_type_name', u'asset_name', 'director', 'asset_year',
               'set_duration', 'single_duration', 'single_price', 'total', 'total_abroad',
               'rmb_price', 'abroad_price', 'grant_year','grant_start_time','grant_end_time','right_item']
        worksheet.write_row(col[0], title, format4)  # 设置AF-AI列的样式
    
    
        for i in range(len(data)):   #我的这个data是[[],[],[]], 可以根据自己的data在下面第三个参数做更改
    
            worksheet.write(i+1, 0, data[i][0])   #write(row行,col列,数据) 从第一行开始,因为0行是title
            worksheet.write(i+1, 1, data[i][1])
            worksheet.write(i+1, 2, data[i][2])
            worksheet.write(i+1, 3, data[i][3])
            worksheet.write(i+1, 4, data[i][4])
            worksheet.write(i+1, 5, data[i][5])
            worksheet.write(i+1, 6, data[i][6])
            worksheet.write(i+1, 7, data[i][7])
            worksheet.write(i+1, 8, data[i][8])
            worksheet.write(i+1, 9, data[i][9])
            worksheet.write(i+1, 10, data[i][10])
            worksheet.write(i+1, 11, data[i][11])
            worksheet.write(i+1, 12, data[i][12])
            worksheet.write(i+1, 13, data[i][13])
            worksheet.write(i+1, 14, data[i][14])
            worksheet.write(i+1, 15, data[i][15])
    
        workfile.close()
    
        return filename

    这就是生成后的excel 

     

    2.2-拓展

    1.更详细的可以去看文档 :https://xlsxwriter.readthedocs.io/

    2.这篇写的也很全 : https://www.cnblogs.com/fkissx/p/5617630.html 

  • 相关阅读:
    crontab机会任务监控
    Python 模块的一般处理
    MySQLdb autocommit
    MySQLdb callproc 方法
    Pthon MySQLdb 的安装
    CentOS7安装MySQL
    Linux中的网络
    Linux中的盘符问题
    类比的方法学习Performance_schema
    MySQL 设置数据库的隔离级别
  • 原文地址:https://www.cnblogs.com/yuanfang0903/p/11428736.html
Copyright © 2020-2023  润新知