<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python讀寫excle之openpyxl

      1.1、模塊介紹

      Python處理excel常見的的第三方庫有:xlrd,xlwt,openpyxl,xlsxwriter 等。

       

       

       

       

      xlrd:用于讀取Excle數據文件將返回的數據對象放到內存中,然后查詢數據文件對象的相關信息。只支持xls格式。

      xlwt:創建一個全新的excel文件,然后對這個文件進行寫入內容以及保存。支持寫入.xls文件,不支持.xlsx格式。

      openpyxl:擁有讀和寫excel的能力,讀寫功能可以滿足大部分的excel操作需求。需要注意的是openpyxl不支持xls文件,保存是覆蓋并顯示新文件。

      pandas:結合了數據處理和Excel文件寫入功能,需要依賴numpyxlrd/openpyxl庫。

        

      1.2、openpyxl操作方法匯總

       

      需要注意的是使用openpyxl進行工作的時候,當一個工作結束的時候我們需要進行Excel文件的保存操作:wb.save('Mytest.xlsx')。這個保存唯一需要注意的是:文件是默認替換的。也就是說我們在保存文件的時候,openpyxl將進行替換而不發出告警。如果大家想保存不同階段的文件,則可以在保存文件的時候加一個時間戳。


      from openpyxl import Workbook


      # 創建一個工作簿對象
      wb = Workbook()


      # 在索引為0的位置創建一個名為mySheet的sheet頁
      ws = wb.create_sheet('mySheet',0)

      # 對sheet頁設置一個顏色(16位的RGB顏色)
      ws.sheet_properties.tabColor = 'ff72BA'

      # 將創建的工作簿保存為ftz.xlsx
      wb.save('ftz.xlsx')
      # 最后關閉文件
      wb.close()

       

      from openpyxl import load_workbook
      # 加載工作簿
      wb2 = load_workbook('ftz.xlsx')
      # 獲取所有sheet頁名字
      print(wb2.get_sheet_names())
      print(wb2.sheetnames)
      # 獲取sheet頁
      ws2 = wb2['mySheet']
      ws3 = wb2.get_sheet_by_name('mySheet')
      # 打印sheet頁的顏色屬性值
      print('color:',ws2.sheet_properties.tabColor)
      wb2.close()

       

      #修改工作表名稱
      sheet.title="ftz"
      #獲取工作表名稱
      sheet.title

       

       

       

       

      獲取單元格對象和值

      from openpyxl import load_workbook
      # 加載工作簿
      wb2 = load_workbook('ftz.xlsx')
      # 獲取sheet頁
      ws2 = wb2.get_sheet_by_name('mySheet')
      #獲取單元格對象
      cellIns1 = ws2.cell(1,1)
      cellIns2 = ws2['A1']

      #獲取單元格的值
      cellValue1 = cellIns1.value
      cellValue2 = cellIns2.value
      print(cellValue1)
      print(cellValue2)
      wb2.close()

       

       

      往單元格寫入值

       


      #方式一
      ws2.cell(5,1).value="海南"
      ws2.cell(5,2).value="三亞"
      #方式二
      ws2["A6"]="北京"
      ws2["B6"]="天安門"
      #方式三s
      ws2.cell(7,1,"山東")
      ws2.cell(7,2,"趵突泉")
      #保存工作簿
      wb2.save("ftz.xlsx")

       

      獲取工作表的最大行和最大列

      #獲取最大行:
      ws2.max_row
      #獲取最大列:
      ws2.max_column


      獲取多個單元格

      #獲取A1到A3的單元格
      cell1=ws2['A1:A3']
      #獲取第一行和第二行的單元格
      cell2=ws2[1:2]
      #獲取A列到C列的單元格
      cell3=ws2['A:B']

      print(cell1[0][0].value,cell1[1][0].value)
      print(cell2)
      print(cell3)

       

      插入刪除行列

       

      '''
      #插入行
      ws2.insert_rows(idx=數字編號,amount=要插入行數)
      #刪除行
      ws2.delete_rows(idx=數字編號,amount=要插入行數)
      #插入列
      ws2.insert_cols(idx=數字編號,amount=要插入列數)
      #刪除列
      ws2.delete_cols(idx=數字編號,amount=要插入列數)
      '''
      #從第二行開始插入三行
      ws2.insert_rows(idx=2,amount=3)
      wb2.save('ftz.xlsx')

       

       

       

      示例代碼:

      newExcel = r"D:\FTZ\year\5month\kw_ftz\BYTE.xlsx"
      if os.path.exists(newExcel):  #文件存在則載入存在的文件
          workBook = openpyxl.load_workbook(filename = newExcel)
      else:                         #文件不存在則創建新的文件,并將默認的sheet重命名
          workBook = openpyxl.Workbook()
          defaultWorkSheet = workBook.active
          defaultWorkSheet.title = "BYTE"
       
      #選擇要操作的sheet頁
      worksheet = workBook.get_sheet_by_name("BYTE")  #獲取要操作的sheet
      #寫入                                     
      for row in range(0,len(result)):
          worksheet.append(result[row])               #result是一個列表,表示要寫入的內容
      workBook.save(filename=newExcel)                #保存

       

       

      ============================================================================================

      1.3、xlrd操作方法匯總

       

       

      注意:在使用 xlrd 讀取 .xlsx 文件時,由于 xlrd 從版本 2.0.0 開始停止支持 .xlsx 格式,可能會遇到 xlrd.biffh.XLRDError: Excel xlsx file; not supported 的錯誤。

      如果需要讀取.xlsx文件,你可能需要安裝1.2.0版本的xlrd。

       

      # coding:utf-8
      import xlrd

       

      workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
      #print(workbook)

      # 獲取所有的工作表名
      sheet_names = workbook.sheet_names()
      #print(sheet_names)

      # 獲取所有的sheet對象
      Sheets = workbook.sheets()
      print(Sheets)


      # 方式一:通過索引選取
      sheet1 = workbook.sheets()[0]
      print(sheet1 ) # Sheet 0:<sdxl>

      # 方式二:通過索引選取
      sheet2 = workbook.sheet_by_index(2)
      print(sheet2) # Sheet 2:<sdyxz>

      # 方式三:通過表名選取,返回一個<class 'xlrd.sheet.Sheet'>對象
      sheet = workbook.sheet_by_name("hzgg")
      print(sheet) # Sheet 1:<hzgg>

      # 通過索引,檢查某個sheet是否導入完畢
      print(workbook.sheet_loaded(0)) # True

      # 通過文件名,檢查某個sheet是否導入完畢
      print(workbook.sheet_loaded("hzgg")) # True

       

      對行(row)的操作

      sheet.row_len(rowx) #通過row_len()方法獲取行長度

      sheet.row_values(rowx, start_colx=0, end_colx=None) #返回該行的值數據列表

       

      對列(colnum)的操作

      sheet.col_len(colx) #通過col_len()方法獲取列長度

      sheet.col_values(colx, start_rowx=0, end_rowx=None) #返回該列的值數據列表

       

      對單元格的操作

       

      sheet.cell_value(rowx,colx) #返回該單元格的數值

      sheet.cell_type(rowx,colx) #返回該單元格的數據類型

       

      1.4、xlwt操作方法匯總

       

      新建工作簿

      xlsx = xlwt.Workbook( encoding="utf-8" ) # 新建Workbook對象,參數為設置編碼為utf-8

      添加工作表

      sheet = xlsx.add_sheet( "sheet1", cell_overwrite_ok=True )

      創建一個sheet對象,一個sheet對象對應Excel文件中的一張工作表

      參數:工作表名稱;是否允許覆蓋寫入,默認為False,如果為False,如果在代碼中對同一單元格多次寫入時會報錯

      設置單元格寬度

      sheet.col(0).width = 256 * num

      設置第一列的寬度,num為字符的個數,256為單個字符的寬度

      寫入單元格

      sheet.write( i, j, content, style )

      寫入第i行第j列的單元格(從0開始計數),style為實現設定的單元格樣式,詳見單元格樣式說明

      合并單元格寫入

      sheet.write_merge( topRow, bottomRow, leftCol, rightCol, content, style )

      保存工作簿

      xlsx.save( path )

      寫入的內容必須與工作簿的編碼一致,否則在保存的時候會報錯,比如,設置編碼為utf-8,那么所有寫入的內容都必須是utf-8的編碼

      單元格樣式說明

      alignment = xlwt.Alignment() #新建alignment

      alignment.horz = xlwt.Alignment.HORZ_CENTER #設置行居中

      alignment.vert = xlwt.Alignment.VERT_CENTER #設置列居中

      alignment.wrap = xlwt.Alignment.WRAP_AT_RIGHT #設置自動換行

      font = xlwt.Font() #新建font

      font.bold = True #字體加粗

      font.height = 12 * 20,12號的字體 #設置字體大小

      font.name = "SimSun" #設置為宋體

      borders = xlwt.Borders() #新建borders

      borders.left = xlwt.Borders.THIN #設置表格寬度

      style = xlwt.XFStyle() #新建style

      style.alignment = alignment #為style設置alignment

      style.font = font #為style設置font

      style.borders = borders #為style設置borders

       

       

      5、常用讀寫庫介紹

       

      python在操作excel的時候,用到很多庫,常用的有xlwings、xlrd、xlwt、xlutils、xlsxwriter、openpyxl、pandas。這幾個庫都是第三方庫,需要install和import才能使用

      xlrd和xlwt是早期支持操作excel的庫,目前最新版本都只支持xls格式,不支持xlsx格式文件。xlrd負責讀取excel文件,xlwt負責對excel進行寫的操作。xlwt 和 xlrd 不光名字像,連很多函數和操作格式也是完全相同。xlrd和xlwt不支持xlxs的原因:XLSX 是 Microsoft Office 2007 之后的 Excel 文件格式,它采用了基于 XML 的文件結構。與之前的 XLS 格式相比,XLSX 格式有更好的擴展性和兼容性。然而,xlrd 庫是基于舊的二進制 XLS 文件格式開發的,因此無法直接讀取 XLSX 文件。

      xlutils(excel utilities)是一個提供了許多操作修改 excel 文件方法的庫。xlutils 庫也僅僅是通過復制一個副本進行操作后保存一個新文件,xlutils 庫就像是 xlrd 庫和 xlwt 庫之間的一座橋梁,因此,xlutils 庫是依賴于 xlrd 和 xlwt 兩個庫的。簡單來說,xlrd 負責讀、xlwt 負責寫、xlutils 負責提供輔助和銜接

      xlwings 能夠非常方便的讀寫 Excel 文件中的數據,并且能夠進行單元格格式的修改

      openpyxl通過 工作簿 “workbook - 工作表 sheet - 單元格 cell” 的模式對 .xlsx 文件進行讀、寫、改,并且可以調整樣式。它是由于缺乏從 Python 中讀取 / 編寫 Office Open XML 格式的現有庫而誕生的。

      pandas 是基于 NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具

      xlsxwriter是用于創建 Excel XLSX 文件的 Python 模塊,可用于將文本、數字、公式和超鏈接寫入 Excel2007 + XLSX 文件中的多個工作表。它可以用于將文本、數字和公式寫入多個工作表,并支持格式、圖像、圖表、頁面設置、自動篩選、條件格式和許多其他功能

       

       

      一般的組合使用Pandas和openpyxl庫是相互互補的。Pandas絕對是Python中處理Excel最快、最好用的庫,但是使用 openpyxl 的一些優勢是能夠輕松地使用樣式、條件格式等自定義電子表格
      ————————————————

      原文鏈接:

      https://blog.csdn.net/liyue121100132/article/details/143143252

      https://blog.csdn.net/qq_27071221/article/details/124822548

       

       

       

       

       

       

       

       

      無腦使用模板:

      獲取單元格對象和值
      
      from openpyxl import load_workbook
      # 加載工作簿
      wb2 = load_workbook('ftz.xlsx')
      # 獲取sheet頁
      ws2 = wb2.get_sheet_by_name('mySheet')
      #獲取單元格對象
      cellIns1 = ws2.cell(1,1)
      cellIns2 = ws2['A1']
       
      #獲取單元格的值
      cellValue1 = cellIns1.value
      cellValue2 = cellIns2.value
      print(cellValue1)
      print(cellValue2)
      wb2.close()






       

      努力,才能證明自己啥也不是。。。

      posted @ 2024-11-30 11:07  癡顛笑天  閱讀(3374)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品久久久久久久9999| 人妻精品久久无码专区精东影业| 青草精品国产福利在线视频| 亚洲综合av一区二区三区| 日韩av片无码一区二区不卡| 亚洲色大成网站www久久九九| 自拍偷在线精品自拍偷99| 久久国产成人亚洲精品影院老金| 欧美日韩精品一区二区视频| 亚洲日本韩国欧美云霸高清| 亚洲成人av综合一区| 韩国无码AV片午夜福利| 亚洲精品国产精品乱码不卡| 狠狠综合久久av一区二| 亚洲欧美精品一中文字幕| 精品国产福利一区二区| 亚洲成人四虎在线播放| 国产午夜福利精品片久久| 亚洲色欲色欱WWW在线| 少妇人妻偷人精品系列| 中文字幕日韩精品国产| 高清不卡一区二区三区| 亚洲精品熟女一区二区| 亚洲色欲色欱WWW在线| 欧美国产日产一区二区| 在线播放深夜精品三级| 老熟妇仑乱换频一区二区| AV最新高清无码专区| 亚洲全网成人资源在线观看| 国产精品v片在线观看不卡| 无码国产玉足脚交极品播放| 无码精品国产VA在线观看DVD| 国产中文字幕精品免费| 四虎永久在线精品无码视频| 亚洲成AV人片在线观高清| 欧美牲交40_50a欧美牲交aⅴ| 精品一区二区三区不卡| 亚洲国产欧美一区二区好看电影| 少妇被粗大的猛烈xx动态图| 国产区一区二区现看视频| 免费看视频的网站|