Django 讀取 Excel 檔案範例教學

首頁 >> 結帳英文 >> Django 讀取 Excel 檔案範例教學

Django 是基於 Python 的框架,

所以許多 Python 上面的套件,

其實在 Django 還是能夠沿用的,

今天就來教大家:

Django 讀取 Excel 檔案範例教學

此處是以 xlrd 為例子作為範例,

有兩種做法,

一種是上傳檔案儲存後,再透過 xlrd 讀取

第二種方法是不儲存檔案,直接透過 xlrd 讀取

此處範例是以第二種方法為例子:

首先得先安裝 xlrd

pip install xlrd

要在某個檔案中使用必須
import xlrd
在 Django template 資料夾中新增一個 html 檔案,並加入要傳入的表單:

/form class="" action="" method="post" enctype="multipart/form-data"/

{% csrf_token %}
/input type="file" name="excel"/
/input type="submit" value="上傳"/

/form

當然在 url.py 也要加入:

path('ximport/', ximport)

再來就是重點戲了:

wb = xlrd.open_workbook(filename=None, file_contents=request.FILES['excel'].read())
table = wb.sheets()[0]
row = table.nrows
for i in range(1, row):
    col = table.row_values(i)
    print(col)

此處範例是每列讀取後將其印出來。

讀取的方法有三種:

data.sheets()[0]
data.sheet_by_index(sheet_indx)
data.sheet_by_name(sheet_name)

前兩者都是照索引順序讀取,

最後一個為照名稱順序讀取,

此處是採用第一種方法為範例。


一般習慣用法為直行橫列,

不過在英文裡

row 是橫列,
column為直行


此處的範例為每列讀取將其印出,

故寫為:

# 總列數 
row = table.nrows
for i in range(1, row):
    col = table.row_values(i)
    print(col)

如果要處理 column 的話,

寫成:

# 總行數 
col = table.ncols
for i in range(1, col):
    row = table.col_values(i)
    print(row)


================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

1 Response

  1. 2019-10-24

    […] 之前介紹過 Django 匯入 Excel 檔案進行處理, […]

發佈留言