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

利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表實例代碼

 更新時間:2022年07月22日 14:24:41   作者:華仔仔coding  
大家應(yīng)該都知道xlwt是python中寫入到excel的庫,下面這篇文章主要給大家介紹了關(guān)于利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 安裝 xlwt 庫

Python 寫入數(shù)據(jù)到 Excel 工作簿中可以使用第三方庫 xlwt. xlwt 拆分下來看就是 excel 和 write 的簡化拼接,意思就是寫數(shù)據(jù)到 Excel. 這個第三方庫的 pip 安裝命令如下所示:

pip install xlwt -i https://mirrors.aliyun.com/pypi/simple

xlwt 的安裝方式和 xlrd 的安裝方式一樣,不過這里 xlwt 沒有指定版本,直接用默認(rèn)版本就好,其他的不再贅述了。

2. 使用 xlwt 庫

使用 xlwt 寫入到 Excel 工作簿支持兩種擴(kuò)展名:xls 和 xlsx. 這兩種擴(kuò)展名代表兩種不同的 Excel 版本。

xls 為 Excel 2003 及以前的版本擴(kuò)展名,支持的最大行數(shù)為 65536, 最大列數(shù)為 256. 而 xlsx 為 Excel 2007 及以后的版本擴(kuò)展名,它的最大支持行數(shù)為 1048576, 最大支持列數(shù)為 16384.

需要注意的是,Excel 2007 及之后版本可以打開上述兩種格式文件,而 Excel 2003 版本只能打開 xls 格式文件。

2.1 向 Excel 工作表寫入單個數(shù)據(jù)

因為這篇教程是看完 《使用 Python 第三方庫 xlrd 讀取 Excel 中的數(shù)據(jù)》才看的進(jìn)階教程。因此,Excel 工作簿和 Excel 工作表以及單元格的層次關(guān)系,我不再贅述了,直接 ”上菜“:

import xlwt

# 新建工作簿
my_workbook = xlwt.Workbook()
# 創(chuàng)建新的工作表對象 worksheet, 并取名為 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
# 給定單元格坐標(biāo), 一次寫入一個單元格數(shù)據(jù)
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年齡')
sheet.write(0, 2, '班級')
sheet.write(0, 3, '學(xué)號')
# 保存文件
my_workbook.save('test.xlsx')

代碼解析:

  1. 首先,通過 Workbook() 方法新建一個工作簿對象
  2. 之后,通過 add_sheet() 方法新建一個 Sheet 表,表名為 ‘test_sheet’, 這個可以根據(jù)需求自定義。
  3. 然后,又通過 write() 方法寫入數(shù)據(jù),方法中的參數(shù)分別為單元格橫坐標(biāo)、縱坐標(biāo)和單元格數(shù)據(jù)。
  4. 最后,使用 save() 方法保存文件,參數(shù)為文件名字符串。

2.2 向 Excel 工作表寫入多個數(shù)據(jù)

那么在 2.1 小節(jié)中,我們使用 write() 方法每次只寫入一個單元格數(shù)據(jù),在寫入多個數(shù)據(jù)的時候,每次都調(diào)用一次 write() 方法未免過于繁瑣,增加了很多冗余代碼,降低編碼效率。

因此,我們使用一種新的方法,將數(shù)據(jù)寫入到單元格中。修改后的代碼如下:

import xlwt

# 新建工作簿
my_workbook = xlwt.Workbook()
# 創(chuàng)建新的工作表對象 worksheet, 并取名為 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
name_list = ['姓名', '年齡', '班級', '學(xué)號']
for i in name_list:
    sheet.write(0, name_list.index(i), i)
# 保存文件
my_workbook.save('test.xlsx')

代碼解析:

在上面的代碼中,我們將要寫入的同一行數(shù)據(jù)存放在一個列表中,之后使用 for 循環(huán),固定單元格橫坐標(biāo)為 0, 列坐標(biāo)不斷變化,列坐標(biāo)通過調(diào)用列表的 index() 方法獲取,之后寫入的數(shù)據(jù)就是循環(huán)到的當(dāng)前值。

2.3 向 Excel 工作表寫入多個數(shù)據(jù)(進(jìn)階)

在 2.2 小節(jié)中,我們學(xué)習(xí)了向 Excel 工作表寫入多個數(shù)據(jù),方法是將多個數(shù)據(jù)以列表的形式組合起來,然后使用 for 循環(huán)。那么如果說,寫入的數(shù)據(jù)是列表和字典嵌套形成的,又該怎樣將數(shù)據(jù)剝離出來寫入到對應(yīng)的單元格內(nèi)呢?
例如,給定一個數(shù)據(jù) data, 如下所示:

data = [
    {
        'name': '華仔仔',
        'age': 12,
        'gender': '男',
        'xuehao': '001'
    },
    {
        'name': '華仔',
        'age': 15,
        'gender': '男',
        'xuehao': '002'
    },
    {
        'name': '帥氣的華仔仔',
        'age': 18,
        'gender': '男',
        'xuehao': '003'
    },
    {
        'name': '華仔仔coding',
        'age': 20,
        'gender': '男',
        'xuehao': '004'
    }
]

如果是這樣的一個數(shù)據(jù),此時我們可以考慮使用 Python 內(nèi)置的函數(shù) enumerate(). 代碼如下所示:

import xlwt

# 新建工作簿
my_workbook = xlwt.Workbook()
# 創(chuàng)建新的工作表對象 worksheet, 并取名為 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
name_list = ['姓名', '年齡', '性別', '學(xué)號']
for i in name_list:
    sheet.write(0, name_list.index(i), i)
data = [
    {
        'name': '華仔仔',
        'age': 12,
        'gender': '男',
        'xuehao': '001'
    },
    {
        'name': '華仔',
        'age': 15,
        'gender': '男',
        'xuehao': '002'
    },
    {
        'name': '帥氣的華仔仔',
        'age': 18,
        'gender': '男',
        'xuehao': '003'
    },
    {
        'name': '華仔仔coding',
        'age': 20,
        'gender': '男',
        'xuehao': '004'
    }
]
for i, item in enumerate(data):
    sheet.write(i+1, 0, item['name'])
    sheet.write(i + 1, 1, item['age'])
    sheet.write(i + 1, 2, item['gender'])
    sheet.write(i + 1, 3, item['xuehao'])
# 保存文件
my_workbook.save('test.xlsx')

代碼解析:

  1. 首先,看一下 data, data 是一個列表類型變量,它的元素是字典類型,一共四個字典元素。
  2. 之后,再看一下 enumerate() 函數(shù)。該函數(shù)用于將一個可便利的數(shù)據(jù)對象(如列表、元組和字符串) 組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)中。
  3. 因此,在 for 循環(huán)中的變量 i 代表的是列表中遍歷到的當(dāng)前字典的下標(biāo),item 代表的是當(dāng)前遍歷到的字典的值, item[‘name’] 表示根據(jù)鍵 ‘name’, 獲取鍵對應(yīng)的值。
  4. 最后,對于 enumerate() 函數(shù)的使用,再舉一個例子。例如:words = [‘A’, ‘B’, ‘C’, ‘D’]. for i, word in enumerate(words): print(i, element). 它的輸出結(jié)果應(yīng)該是 0, ‘A’ ‘1’, ‘B’, ‘2’, ‘C’, ‘3’, ‘D’.

3. 總結(jié)

通過上面的學(xué)習(xí),相信大家對 xlwt第三方庫的安裝以及使用第三方庫向Excel 中寫入數(shù)據(jù)的方法有了一定的掌握。如果想要了解更多關(guān)于 xlwt 模塊的方法,可以參考官網(wǎng)文檔哦!

到此這篇關(guān)于利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表的文章就介紹到這了,更多相關(guān)Python xlwt寫入數(shù)據(jù)到Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python創(chuàng)建字典的八種方式

    Python創(chuàng)建字典的八種方式

    今天小編就為大家分享一篇關(guān)于Python創(chuàng)建字典的八種方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • pandas中實現(xiàn)將相同ID的字符串進(jìn)行合并

    pandas中實現(xiàn)將相同ID的字符串進(jìn)行合并

    這篇文章主要介紹了pandas中實現(xiàn)將相同ID的字符串進(jìn)行合并問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python視頻處理模塊之moviepy的用法教程

    Python視頻處理模塊之moviepy的用法教程

    隨著自媒體時代,現(xiàn)在對視頻的處理變得越來越常見。而?Python?有一個專門用于處理視頻的第三方庫:moviepy,可以非常方便地對視頻進(jìn)行一些簡單處理,下面我們就來看一看
    2022-07-07
  • 淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置

    淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置

    這篇文章主要介紹了淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python中的pygame實現(xiàn)接球小游戲

    python中的pygame實現(xiàn)接球小游戲

    這篇文章主要介紹了python中的pygame實現(xiàn)接球小游戲,文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • NumPy中掩碼數(shù)組的操作

    NumPy中掩碼數(shù)組的操作

    本文主要介紹了NumPy中掩碼數(shù)組的操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python利用AutoGrad實現(xiàn)自動計算函數(shù)斜率和梯度

    Python利用AutoGrad實現(xiàn)自動計算函數(shù)斜率和梯度

    AutoGrad 是一個老少皆宜的 Python 梯度計算模塊。對于大學(xué)生、機(jī)器學(xué)習(xí)愛好者而言,你只需要傳遞給它Numpy這樣的標(biāo)準(zhǔn)數(shù)據(jù)庫下編寫的損失函數(shù),它就可以自動計算損失函數(shù)的導(dǎo)數(shù)(梯度)。本文將從普通斜率計算開始,介紹到如何只使用它來實現(xiàn)一個邏輯回歸模型
    2022-07-07
  • 對Python中GIL(全局解釋器鎖)的一點理解淺析

    對Python中GIL(全局解釋器鎖)的一點理解淺析

    首先需要明確的一點是GIL并不是Python的特性,它是在實現(xiàn)Python解析器(CPython)時所引入的一個概念,下面這篇文章主要給大家介紹了關(guān)于對Python中GIL的一點理解,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Python進(jìn)階之路模塊、包和異常處理詳解

    Python進(jìn)階之路模塊、包和異常處理詳解

    這篇文章主要介紹了Python進(jìn)階之路模塊、包和異常處理的相關(guān)資料,文中通過實例演示,展示了如何構(gòu)建模塊化的應(yīng)用并遵循最佳實踐,需要的朋友可以參考下
    2024-12-12
  • 使用Python編寫簡單的畫圖板程序的示例教程

    使用Python編寫簡單的畫圖板程序的示例教程

    這篇文章主要介紹了使用Python編寫簡單的畫圖板軟件的示例教程,利用到了經(jīng)常被用來做游戲的pygame模塊,需要的朋友可以參考下
    2015-12-12

最新評論