欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 數(shù)據(jù)生成excel導(dǎo)出(xlwt,wlsxwrite)代碼實例

 更新時間:2019年08月23日 10:09:05   作者:南魚羈荒渡  
這篇文章主要介紹了python 數(shù)據(jù)生成excel導(dǎo)出(xlwt,wlsxwrite)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了python 數(shù)據(jù)生成excel導(dǎo)出(xlwt,wlsxwrite)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

話不多說,看代碼:

from xlwt import *
import StringIO
from apps.song.models import Song
def excel_ktvsong(request):

 """
導(dǎo)出excel表格
"""

 _id = request.GET.get('id', 0)

 list_obj = Song.objects.filter(is_delete__exact=False)
 # django orm 
 if list_obj:
 # 創(chuàng)建工作薄

  ws = Workbook(encoding='utf-8')

  w = ws.add_sheet(u"歌曲列表")

  w.write(0, 0, u"歌曲名稱")

  w.write(0, 1, u"歌手")

  # 寫入數(shù)據(jù)

  excel_row = 1

  for obj in list_obj:

   data_song = obj.song

   data_singer_name = obj.singer_name

   w.write(excel_row, 0, data_song)

   w.write(excel_row, 1, data_singer_name)


   excel_row += 1


  sio = StringIO.StringIO()

  ws.save(sio)

  sio.seek(0)

  response = HttpResponse(sio.getvalue(),   
  content_type='application/vnd.ms-excel')

  response['Content-Disposition'] = 'attachment;filename=%s.xls' % time.strftime('%Y%m%d%H%M%S')

  response.write(sio.getvalue())

  return response

 else:

  return HttpResponse("無數(shù)據(jù)")

上邊我也是盜的,只不過當(dāng)時有需求,數(shù)據(jù)量大只能用xlsxwriter,然后下邊是我用xlsxwriter寫的,邊學(xué)邊寫,還請多多關(guān)照:

import xlsxwriter,StringIO
    output = StringIO.StringIO()
    workbook = Workbook(output)
    if id:
      sheet_name = _(u"vvv")
      w = workbook.add_worksheet(sheet_name)
    else:
      sheet_name = _(u"vvvvvvv")
      w = workbook.add_worksheet(sheet_name)
""" 表格單元格樣式"""
    head_cell_xf = workbook.add_format({
      'font_name': 'SimSun',
      'bold': True,
      'text_wrap': True,
      'valign': 'vcenter',
      'align': 'left',

      'bg_color': 'gray',
      'pattern': 1,
      'bottom': 1,
      'left': 1,
      'right': 1,
      'top': 1,
    })
    body_cell_xf = workbook.add_format({
      'font_name': 'SimSun',
      'text_wrap': True,
      'valign': 'vcenter',
      'align': 'left',

      'bg_color': 'gray',
      'pattern': 1,
      'bottom': 1,
      'left': 1,
      'right': 1,
      'top': 1,
    })

    w.write(0, 0, 'xxxx', head_cell_xf)
    w.write(0, 1, u'xxxx', head_cell_xf)
    w.set_column(1, 0, 18)
    w.set_column(1, 1, 100)
    excel_row = 1
    # cve_id = set()
    # i18n_name = set()
    data={}
    if id:
      res = xx.objects.get(id=id)
      res = res.vuls.split(';')
      for re in res:
        re = xx.objects.get(pk=xx)
        data[re.cve_id]=re.i18n_name[1]
        # w.write(excel_row, 0, re.cve_id,body_cell_xf)
        # w.write(excel_row, 1, re.i18n_name[1], body_cell_xf)
        # cve_id.add(re.cve_id)
        # cve_id.add(re.i18n_name[1])
        excel_row += 1
        progress_status = excel_row*100/len(res) # 獲取進(jìn)度

    else:
      res = xx.objects.get(pk=xx)
      res = res.white_list.split(',')
      for re in res:
        re = Vuln.objects.get(vul_id=re)
        data[re.cve_id] = re.i18n_name[1]
      
        excel_row += 1
        progress_status = excel_row * 100 / len(res)  # 獲取進(jìn)度
    w.write_column('A2', data.keys(), body_cell_xf)
    w.write_column('B2', data.values(), body_cell_xf)
    workbook.close()
    response = HttpResponse(output.getvalue(),
                content_type='application/octet-stream')
    response['Content-Disposition'] = 'attachment;filename=%s.xlsx' % xxx
    response.write(output.getvalue())
    progress_status = 0
    return response

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python基礎(chǔ)之函數(shù)原理與應(yīng)用實例詳解

    Python基礎(chǔ)之函數(shù)原理與應(yīng)用實例詳解

    這篇文章主要介紹了Python基礎(chǔ)之函數(shù)原理與應(yīng)用,結(jié)合具體實例形式詳細(xì)分析了Python函數(shù)的定義、原理、參數(shù)、返回值、嵌套等相關(guān)概念與使用技巧,需要的朋友可以參考下
    2020-01-01
  • Python實例詳解遞歸算法

    Python實例詳解遞歸算法

    遞歸(英語:Recursion),又譯為遞回,在數(shù)學(xué)與計算機(jī)科學(xué)中,是指在函數(shù)的定義中使用函數(shù)自身的方法。遞歸一詞還較常用于描述以自相似方法重復(fù)事物的過程。本文將詳細(xì)為大家介紹Python中的遞歸算法,需要的可以參考一下
    2022-03-03
  • 基于Python實現(xiàn)繪制簡單動圖的示例詳解

    基于Python實現(xiàn)繪制簡單動圖的示例詳解

    動畫是一種高效的可視化工具,能夠提升用戶的吸引力和視覺體驗,有助于以富有意義的方式呈現(xiàn)數(shù)據(jù)可視化,本文的主要介紹在Python中兩種簡單制作動圖的方法,需要的可以了解下
    2023-10-10
  • python中unittest框架應(yīng)用詳解

    python中unittest框架應(yīng)用詳解

    這篇文章主要介紹了Python中Unittest框架的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    開發(fā)應(yīng)用程序時,若只有一個窗口則只需關(guān)心這個窗口里面的各控件之間如何傳遞數(shù)據(jù)。如果程序有多個窗口,就要關(guān)心不同的窗口之間是如何傳遞數(shù)據(jù)。本文介紹了PyQt5中三種窗口數(shù)據(jù)傳遞,需要的可以了解一下
    2022-12-12
  • 使用Python制作一個惡意軟件刪除工具

    使用Python制作一個惡意軟件刪除工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Python制作一個惡意軟件刪除工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • python tkiner實現(xiàn) 一個小小的圖片翻頁功能的示例代碼

    python tkiner實現(xiàn) 一個小小的圖片翻頁功能的示例代碼

    這篇文章主要介紹了python tkiner實現(xiàn) 一個小小的圖片翻頁功能,需要的朋友可以參考下
    2020-06-06
  • Python深拷貝與淺拷貝用法實例分析

    Python深拷貝與淺拷貝用法實例分析

    這篇文章主要介紹了Python深拷貝與淺拷貝用法,結(jié)合實例形式分析了Python對象的復(fù)制、深拷貝、淺拷貝等操作原理、用法及相關(guān)注意事項,需要的朋友可以參考下
    2019-05-05
  • python數(shù)據(jù)庫編程 ODBC方式實現(xiàn)通訊錄

    python數(shù)據(jù)庫編程 ODBC方式實現(xiàn)通訊錄

    這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)庫編程,ODBC方式實現(xiàn)通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python性能優(yōu)化的20條建議

    Python性能優(yōu)化的20條建議

    不論什么語言我們都需要注意性能優(yōu)化問題,提高執(zhí)行效率,這里就為大家分享下Python的性能優(yōu)化技巧,需要的朋友可以參考下
    2014-10-10

最新評論