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 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM