日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DW-办公自动化02(Excel)

發布時間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DW-办公自动化02(Excel) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 0 對應包安裝
  • 1 Excel讀取
    • 1.1 讀取對應表格
    • 1.2 讀取單元格
    • 1.3 讀取多個格子的值
    • 1.4 練習題
  • 2 Excel寫入
    • 2.1 寫入單元格并保存
    • 2.2 寫入行數據并保存
    • 2.3 將公式寫入單元格保存
    • 2.4 插入數據
    • 2.5 刪除
    • 2.6 移動
    • 2.7 Sheet表操作
    • 2.8 創建新的Excel表
  • 3 Excel樣式
    • 3.1 設置字體樣式
    • 3.2 設置對齊樣式
    • 3.3 設置行高與列寬
    • 3.4 合并、取消合并單元格
    • 3.5 練習題

0 對應包安裝

  • 安裝openpyxl模塊:
    • 方法一:pip命令安裝:pip install openpyxl
    • 方法二:直接用Anaconda即可
  • Excel表格介紹:

1 Excel讀取

1.1 讀取對應表格

  • 打開已存在表格:load_workbookfrom openpyxl import load_workbookexl = load_workbook(filename = 'test.xlsx') print(exl.sheetnames) # 打印所有工作表名 # ['Sheet1']
  • 選擇對應名稱的工作表:單個表exl.active,選擇表exl['表名']from openpyxl import load_workbookexl_1 = load_workbook(filename = 'test.xlsx') print(exl_1.sheetnames) # 打印所有工作表名 # ['work']# 選擇'work'工作表 sheet = exl_1['work'] # 若只有一張表,則 sheet = exl_1.active
  • 獲取Excel中 內容所占的范圍區域:.dimensionssheet = exl_1['work'] print(sheet.dimensions) # A1:B51104

1.2 讀取單元格

  • 獲取對應單元格的具體內容:
    • 方法一:指定行列數
    cell=sheet.cell(row=1,column=2) print(cell.value) # 人流數
    • 方法二:指定坐標
    cell_1=sheet['A2'] print(cell_1.value) # 2020-09-01
  • 獲取單元格對應的行、列和坐標:print(cell_1.row, cell_1.column, cell.coordinate) # 2 1 B1

1.3 讀取多個格子的值

  • 指定坐標范圍:cells = sheet['A1:C8'] #A1到C8區域的值
  • 指定行的值:Row = sheet[1] #第1行的值 Rows = sheet[1:2] #第1到2行的值
  • 指定列的值:Column = sheet['A'] #第A列 Columns = sheet['A:C'] #第A到C列
  • 指定范圍的值:# 行獲取 for row in sheet.iter_rows(min_row = 1, max_row = 5,min_col = 2, max_col = 6):print(row) # 行獲取 for row in sheet.iter_rows(min_row = 1, max_row = 5,min_col = 2, max_col = 6):print(row)# 一列由多個單元格組成,若需要獲取每個單元格的值則循環獲取即可for cell in row:print(cell.value) # 列獲取 for col in sheet.iter_cols(min_row = 1, max_row = 5,min_col = 2, max_col = 6):print(col)

1.4 練習題

  • 題目:找出test_1.xlsx中sheet1表中空著的格子,并輸出這些格子的坐標 from openpyxl import load_workbookexl=load_workbook('test_1.xlsx') sheet=exl.active # 具體查看對應表格的行列數 for row in sheet.iter_rows(min_row=1,max_row=29972, min_col=1,max_col=10):for cell in row:if not cell.value:print(cell.coordinate)

2 Excel寫入

2.1 寫入單元格并保存

  • 兩種方法寫入:
    • 指定坐標寫入
    • .value
    # 讀取對應工作表 from openpyxl import load_workbook exl = load_workbook(filename = 'test.xlsx') sheet = exl.active#寫入 sheet['A1'] = 'hello world' #或者cell = sheet['A1'] #cell.value = 'hello world' exl.save(filename = 'test.xlsx') #存入原Excel表中,若創建新文件則可命名為不同名稱

2.2 寫入行數據并保存

  • 寫入一行數據并保存:

    • 導入xlwt模塊,.Workbook()新建一個工作簿,.add_sheet()創建一個哦工作表
    • 用.write()函數寫入行數據,write(行,列,數據)
    • .save()函數保存
    import xlwt # 新建一個工作簿(Excel文件) workbook = xlwt.Workbook(encoding = 'utf-8')# 創建一個sheet(工作表) sheet = workbook.add_sheet('My Worksheet')# 寫入excel # 參數對應 行, 列, 值 sheet.write(1,0,label = 'this is test')# 保存 workbook.save('new_test.xls')
  • 寫入多行數據并保存:

    # 創建工作簿,創建工作表 import xlwt exl=xlwt.Workbook(encoding='utf-8') worksheet=exl.add_sheet('My Worksheet')data = [['hello',22,'hi'],['hell',23,'h'],['he',25,'him']] for i in range(len(data)): # 行數for j in range(len(data[i])): # 列數worksheet.write(i,j,data[i][j]) exl.save(filename = 'test1.xls')

2.3 將公式寫入單元格保存

  • 使用坐標寫入from openpyxl import load_workbook exl = load_workbook(filename = 'test.xlsx') sheet = exl.activesheet['A2'] = '=SUM(A1:D1)' exl.save(filename='test.xlsx')

2.4 插入數據

  • 插入列數據:insert_clos(idx,amount)
    • 插入一列:
    sheet.insert_cols(idx=2) #idx=2第2列,第2列前插入一列
    • 插入多列:
    #第2列前插入5列作為舉例 sheet.insert_cols(idx=2, amount=5)
  • 插入行數據:insert_rows(idx,amount)#插入一行 sheet.insert_rows(idx=2) #插入多行 sheet.insert_rows(idx=2, amount=5)

2.5 刪除

  • 刪除一列:delete_cols(idx,amount)sheet.delete_cols(idx=5, amount=2) #第5列前刪除2列
  • 刪除多列:delete_rows(idx,amount)sheet.delete_rows(idx=2, amount=5)

2.6 移動

  • move_range('范圍',rows=,clos=)當數字為正即向下或向右,為負即為向上或向左sheet.move_range('C5:F10', rows=2, cols=-3)

2.7 Sheet表操作

  • 創建新的sheet:craete_sheet()# 創建新的工作簿 from openpyxl import Workbook workbook=Workbook() sheet=workbook.active workbook.save(filename='new_test.xlsx')exl.create_sheet('new_sheet')# 執行到這一步是沒有改變的 # 執行這一步才能改變 exl.save(filename='new_test.xlsx')
  • 復制已有的sheet:copy_worksheet()sheet=exl[exl.sheetnames[0]] exl.copy_worksheet(sheet) link
  • 修改sheet表名:sheet.title =sheet = exl.active sheet.title = 'newname'

2.8 創建新的Excel表

from openpyxl import load_workbookworkbook = Workbook() sheet = workbook.active workbook.save(filename = 'new_test.xlsx')

3 Excel樣式

3.1 設置字體樣式

  • Font(name字體名稱,size大小,bold粗體,italic斜體,color顏色)# 設置單個單元格字體 from openpyxl import Workbook from openpyxl.styles import Fontworkbook = Workbook() sheet = workbook.active cell = sheet['A1'] font = Font(name='字體', sizee=10, bold=True, italic=True, color='FF0000') cell.font = font workbook.save(filename='new_test') from openpyxl import Workbook from openpyxl.styles import Fontworkbook = Workbook() sheet = workbook.active # 設置多個單元格 cells = sheet[2] font = Font(name='字體', sizee=10, bold=True, italic=True, color='FF000000') for cell in cells:cell.font = font workbook.save(filename='new_test')

3.2 設置對齊樣式

  • 常見對齊樣式:
    • 水平對齊:distributed, justify, center, left, fill, centerContinuous, right, general
    • 垂直對齊:bottom, distributed, justify, center, top
  • 設置單元格邊框樣式:
    • Side(style邊線樣式, color邊線顏色)
    • Border(左右上下邊線)
    from openpyxl import Workbook from openpyxl.styles import Fontworkbook = Workbook() sheet = workbook.active cell = sheet['A1'] side = Side(style='thin', color='FF000000') #先定好side的格式 border = Border(left=side, right=side, top=side, bottom=side) #代入邊線中 cell.border = border workbook.save(filename='new_test')
  • 設置單元格邊線樣式:
    • 邊線樣式:double, mediumDashDotDot, slantDashDot, dashDotDot, dotted, hair, mediumDashed, dashed, dashDot, thin, mediumDashDot, medium, thick
    from openpyxl import Workbook from openpyxl.styles import Fontworkbook = Workbook() sheet = workbook.active cell = sheet['A1'] pattern_fill = PatternFill(fill_type='solid', fgColor cell1.fill = pattern_fill #單色填充 cell2 = sheet['A3'] gradient_fill = GradientFill(stop=('FFFFFF', '99ccff','000000')) cell2.fill = gradient_fill #漸變填充 workbook.save(filename='new_test')

3.3 設置行高與列寬

  • from openpyxl import Workbook workbook = Workbook() sheet = workbook.active sheet.row_dimensions[1].height = 50 sheet.column_dimensions['C'].width = 20 workbook.save(filename='new_test')

3.4 合并、取消合并單元格

  • 合并與取消:merge_cells()``unmerge_cells()sheet.merge_cells('A1:B2') sheet.merge_cells(start_row=1, start_column=3,end_row=2, end_column=4)sheet.unmerge_cells('A1:B2') sheet.unmerge_cells(start_row=1, start_column=3,end_row=2, end_column=4)

3.5 練習題

  • 打開test文件,找出文件中購買數量buy_mount超過5的行,并對其標紅、加粗、附上邊框。from openpyxl import load_workbook from openpyxl.styles import Font, Side, Border workbook = load_workbook('./test.xlsx') sheet = workbook.active buy_mount = sheet['F'] row_lst = []for cell in buy_mount:if isinstance(cell.value, int) and cell.value > 5: print(cell.row)row_lst.append(cell.row)side = Side(style='thin', color='FF000000') border = Border(left=side, right=side, top=side, bottom=side) font = Font(bold=True, color='FF0000') for row in row_lst:for cell in sheet[row]: cell.font = font cell.border = border workbook.save('new_test'.xlsx')

總結

以上是生活随笔為你收集整理的DW-办公自动化02(Excel)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。