中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么利用Python第三方庫xlwt寫入數據到Excel工作表

發布時間:2022-07-22 16:10:38 來源:億速云 閱讀:134 作者:iii 欄目:開發技術

這篇文章主要介紹“怎么利用Python第三方庫xlwt寫入數據到Excel工作表”,在日常操作中,相信很多人在怎么利用Python第三方庫xlwt寫入數據到Excel工作表問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么利用Python第三方庫xlwt寫入數據到Excel工作表”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

    1. 安裝 xlwt 庫

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

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

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

    2. 使用 xlwt 庫

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

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

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

    2.1 向 Excel 工作表寫入單個數據

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

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

    代碼解析:

    1. 首先,通過 Workbook() 方法新建一個工作簿對象

    2. 之后,通過 add_sheet() 方法新建一個 Sheet 表,表名為 ‘test_sheet’, 這個可以根據需求自定義。

    3. 然后,又通過 write() 方法寫入數據,方法中的參數分別為單元格橫坐標、縱坐標和單元格數據。

    4. 最后,使用 save() 方法保存文件,參數為文件名字符串。

    2.2 向 Excel 工作表寫入多個數據

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

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

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

    代碼解析:

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

    2.3 向 Excel 工作表寫入多個數據(進階)

    在 2.2 小節中,我們學習了向 Excel 工作表寫入多個數據,方法是將多個數據以列表的形式組合起來,然后使用 for 循環。那么如果說,寫入的數據是列表和字典嵌套形成的,又該怎樣將數據剝離出來寫入到對應的單元格內呢?
    例如,給定一個數據 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'
        }
    ]

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

    import xlwt
    
    # 新建工作簿
    my_workbook = xlwt.Workbook()
    # 創建新的工作表對象 worksheet, 并取名為 test_sheet
    sheet = my_workbook.add_sheet('test_sheet')
    name_list = ['姓名', '年齡', '性別', '學號']
    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() 函數。該函數用于將一個可便利的數據對象(如列表、元組和字符串) 組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環中。

    3. 因此,在 for 循環中的變量 i 代表的是列表中遍歷到的當前字典的下標,item 代表的是當前遍歷到的字典的值, item[‘name’] 表示根據鍵 ‘name’, 獲取鍵對應的值。

    4. 最后,對于 enumerate() 函數的使用,再舉一個例子。例如:words = [‘A’, ‘B’, ‘C’, ‘D’]. for i, word in enumerate(words): print(i, element). 它的輸出結果應該是 0, ‘A’ ‘1’, ‘B’, ‘2’, ‘C’, ‘3’, ‘D’.

    到此,關于“怎么利用Python第三方庫xlwt寫入數據到Excel工作表”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    平和县| 桃园市| 绥芬河市| 六安市| 炎陵县| 乌恰县| 沂南县| 永和县| 镇雄县| 稻城县| 晋城| 内乡县| 新晃| 陈巴尔虎旗| 大荔县| 左云县| 云霄县| 寿宁县| 永川市| 云龙县| 平塘县| 瓮安县| 波密县| 巴马| 陕西省| 横山县| 颍上县| 扬州市| 乌海市| 平安县| 田东县| 岳西县| 手游| 高邮市| 亚东县| 江西省| 辽宁省| 高平市| 唐河县| 墨竹工卡县| 陆川县|