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

Python自動(dòng)操作Excel文件的方法詳解

 更新時(shí)間:2022年05月07日 15:18:22   作者:五包辣條!  
大家平時(shí)在工作與學(xué)習(xí)中都會(huì)操作到Excel文件格式,特別是很多數(shù)據(jù)的時(shí)候,靠人力去識(shí)別操作非常容易出錯(cuò)。今天就帶大家用Python來(lái)處理Excel文件,讓你成為一個(gè)別人眼中的秀兒

工具

python3.7

Pycharm

Excel

xlwt&xlrd

讀取Excel文件內(nèi)容

當(dāng)前文件夾下有一個(gè)名為“股票數(shù)據(jù).xlsx”的Excel文件,可以按照下列代碼方式來(lái)操作它。

import xlrd

# 使用xlrd模塊的open_workbook函數(shù)打開指定Excel文件并獲得Book對(duì)象(工作簿)
wb = xlrd.open_workbook('股票數(shù)據(jù).xlsx')
# 通過(guò)Book對(duì)象的sheet_names方法可以獲取所有表單名稱
sheetname = wb.sheet_names()[0]
# 通過(guò)指定的表單名稱獲取Sheet對(duì)象(工作表)
sheet = wb.sheet_by_name(sheetname)
# 通過(guò)Sheet對(duì)象的nrows和ncols屬性獲取表單的行數(shù)和列數(shù)
print(sheet.nrows, sheet.ncols)
for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        # 通過(guò)Sheet對(duì)象的cell方法獲取指定Cell對(duì)象(單元格)
        # 通過(guò)Cell對(duì)象的value屬性獲取單元格中的值
        value = sheet.cell(row, col).value
        # 對(duì)除首行外的其他行進(jìn)行數(shù)據(jù)格式化處理
        if row > 0:
            # 第1列的xldate類型先轉(zhuǎn)成元組再格式化為“年月日”的格式
            if col == 0:
                # xldate_as_tuple函數(shù)的第二個(gè)參數(shù)只有0和1兩個(gè)取值
                # 其中0代表以1900-01-01為基準(zhǔn)的日期,1代表以1904-01-01為基準(zhǔn)的日期
                value = xlrd.xldate_as_tuple(value, 0)
                value = f'{value[0]}年{value[1]:>02d}月{value[2]:>02d}日'
            # 其他列的number類型處理成小數(shù)點(diǎn)后保留兩位有效數(shù)字的浮點(diǎn)數(shù)
            else:
                value = f'{value:.2f}'
        print(value, end='\t')
    print()
# 獲取最后一個(gè)單元格的數(shù)據(jù)類型
# 0 - 空值,1 - 字符串,2 - 數(shù)字,3 - 日期,4 - 布爾,5 - 錯(cuò)誤
last_cell_type = sheet.cell_type(sheet.nrows - 1, sheet.ncols - 1)
print(last_cell_type)
# 獲取第一行的值(列表)
print(sheet.row_values(0))
# 獲取指定行指定列范圍的數(shù)據(jù)(列表)
# 第一個(gè)參數(shù)代表行索引,第二個(gè)和第三個(gè)參數(shù)代表列的開始(含)和結(jié)束(不含)索引
print(sheet.row_slice(3, 0, 5))

寫入Excel文件內(nèi)容

Excel文件寫入可以通過(guò)xlwt 模塊的Workbook類創(chuàng)建工作簿對(duì)象,通過(guò)工作簿對(duì)象的add_sheet方法可以添加工作表,通過(guò)工作表對(duì)象的write方法可以向指定單元格中寫入數(shù)據(jù),最后通過(guò)工作簿對(duì)象的save方法將工作簿寫入到指定的文件或內(nèi)存中。下面代碼操作了一個(gè)學(xué)員成績(jī)表的寫入。

import random

import xlwt

student_names = ['關(guān)羽', '張飛', '趙云', '馬超', '黃忠']
scores = [[random.randint(40, 100) for _ in range(3)] for _ in range(5)]
# 創(chuàng)建工作簿對(duì)象(Workbook)
wb = xlwt.Workbook()
# 創(chuàng)建工作表對(duì)象(Worksheet)
sheet = wb.add_sheet('一年級(jí)二班')
# 添加表頭數(shù)據(jù)
titles = ('姓名', '語(yǔ)文', '數(shù)學(xué)', '英語(yǔ)')
for index, title in enumerate(titles):
    sheet.write(0, index, title)
# 將學(xué)生姓名和考試成績(jī)寫入單元格
for row in range(len(scores)):
    sheet.write(row + 1, 0, student_names[row])
    for col in range(len(scores[row])):
        sheet.write(row + 1, col + 1, scores[row][col])
# 保存Excel工作簿
wb.save('考試成績(jī)表.xlsx')

Excel文件樣式調(diào)整

還可以通過(guò)XFStyle對(duì)象來(lái)設(shè)置單元格的不同樣式。主要包括字體(Font)、對(duì)齊方式(Alignment)、邊框(Border)和背景(Background)的設(shè)置。

header_style = xlwt.XFStyle()
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
# 0 - 黑色、1 - 白色、2 - 紅色、3 - 綠色、4 - 藍(lán)色、5 - 黃色、6 - 粉色、7 - 青色
pattern.pattern_fore_colour = 5
header_style.pattern = pattern
titles = ('姓名', '語(yǔ)文', '數(shù)學(xué)', '英語(yǔ)')
for index, title in enumerate(titles):
    sheet.write(0, index, title, header_style)

設(shè)置表頭的位置

align = xlwt.Alignment()
# 垂直方向的對(duì)齊方式
align.vert = xlwt.Alignment.VERT_CENTER
# 水平方向的對(duì)齊方式
align.horz = xlwt.Alignment.HORZ_CENTER
header_style.alignment = align

設(shè)置單元格的寬高

# 設(shè)置行高為40px
sheet.row(0).set_style(xlwt.easyxf(f'font:height {20 * 40}'))
titles = ('姓名', '語(yǔ)文', '數(shù)學(xué)', '英語(yǔ)')
for index, title in enumerate(titles):
    # 設(shè)置列寬為200px
    sheet.col(index).width = 20 * 200
    # 設(shè)置單元格的數(shù)據(jù)和樣式
    sheet.write(0, index, title, header_style)

總結(jié)

其他操作Excel文件的三方庫(kù)(如openpyxl)大家有興趣可以自行了解。掌握了Python程序操作Excel的方法,可以解決日常辦公中很多繁瑣的處理Excel電子表格工作,最常見(jiàn)就是將多個(gè)數(shù)據(jù)格式相同的Excel文件合并到一個(gè)文件以及從多個(gè)Excel文件或表單中提取指定的數(shù)據(jù)。當(dāng)然,如果要對(duì)表格數(shù)據(jù)進(jìn)行處理,使用Python數(shù)據(jù)分析神器之一的pandas庫(kù)可能更為方便,因?yàn)閜andas庫(kù)封裝的函數(shù)以及DataFrame類可以完成大多數(shù)數(shù)據(jù)處理的任務(wù)。

到此這篇關(guān)于Python自動(dòng)操作Excel文件的方法詳解的文章就介紹到這了,更多相關(guān)Python操作Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python批量下載圖片的三種方法

    python批量下載圖片的三種方法

    用python批量下載一個(gè)網(wǎng)頁(yè)中的圖片,需要用到擴(kuò)展庫(kù)來(lái)解析html代碼
    2013-04-04
  • selenium 多窗口切換的實(shí)現(xiàn)(windows)

    selenium 多窗口切換的實(shí)現(xiàn)(windows)

    這篇文章主要介紹了selenium 多窗口切換的實(shí)現(xiàn)(windows),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 基于Python實(shí)現(xiàn)圖片九宮格切圖程序

    基于Python實(shí)現(xiàn)圖片九宮格切圖程序

    這篇文章主要為大家詳細(xì)介紹了如何利用python和C++代碼實(shí)現(xiàn)圖片九宮格切圖程序,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-04-04
  • 解決pycharm界面不能顯示中文的問(wèn)題

    解決pycharm界面不能顯示中文的問(wèn)題

    今天小編就為大家分享一篇解決pycharm界面不能顯示中文的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python導(dǎo)出requirements.txt的幾種方法以及環(huán)境配置詳細(xì)流程

    python導(dǎo)出requirements.txt的幾種方法以及環(huán)境配置詳細(xì)流程

    這篇文章主要給大家介紹了關(guān)于python導(dǎo)出requirements.txt的幾種方法以及環(huán)境配置詳細(xì)流程,requirements.txt 文件是一個(gè)文本文件,用于列出你的Python項(xiàng)目所依賴的軟件包及其版本,需要的朋友可以參考下
    2023-11-11
  • Python入門教程(三)Python語(yǔ)法解析

    Python入門教程(三)Python語(yǔ)法解析

    這篇文章主要介紹了Python入門教程(三)Python語(yǔ)法解析,Python是一門非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • Python+OpenCV之圖像梯度詳解

    Python+OpenCV之圖像梯度詳解

    這篇文章主要為大家詳細(xì)介紹了Python OpenCV中圖像梯度(Sobel算子、Scharr算子和Laplacian算子)的實(shí)現(xiàn),感興趣的小伙伴可以了解一下
    2022-09-09
  • Python遍歷列表時(shí)刪除元素案例

    Python遍歷列表時(shí)刪除元素案例

    這篇文章主要介紹了Python遍歷列表時(shí)刪除元素案例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • Python中__call__用法實(shí)例

    Python中__call__用法實(shí)例

    這篇文章主要介紹了Python中__call__用法,需要的朋友可以參考下
    2014-08-08
  • 如何利用Python獲取鼠標(biāo)的實(shí)時(shí)位置

    如何利用Python獲取鼠標(biāo)的實(shí)時(shí)位置

    這篇文章主要給大家介紹了關(guān)于如何利用Python獲取鼠標(biāo)的實(shí)時(shí)位置的相關(guān)資料,主要利用的是pyautogui,一個(gè)自動(dòng)化鍵鼠操作的Python類庫(kù),需要的朋友可以參考下
    2022-01-01

最新評(píng)論