乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python 操作Excel文件 (十五)

       Four兄 2019-08-30

      (一)簡介

      python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫??蓮倪@里下載https://pypi./pypi。下面分別記錄python讀和寫excel。

      安裝xlrd和xlwt兩個庫

      pip install xlrd和pip install xlwt
      • 1

      (二)使用介紹

      1.解析Excel文件,獲取Book對象

      book=xlrd.open_workbook('test.xlsx')
      • 1

      2.從工作薄中獲取一張工作表的三種方法

      table = book.sheets()[0] #通過索引順序獲取 table = book.sheet_by_index(0) #通過索引順序獲取 table = book.sheet_by_name(u'Sheet1')#通過名稱獲取
      • 1

      • 2

      • 3

      • 4

      • 5

      3.獲取行總數(shù)和列總數(shù)

      #1.獲取行總數(shù)rows = table.nrows#2.獲取列總數(shù)cols = table.ncols
      • 1

      • 2

      • 3

      • 4

      4.獲取整行和整列的值

      #1.獲取具體行,也可以獲取所有行數(shù)據(jù)。 table.row_values(i) #2.獲取具體列,也可以獲取所有列數(shù)據(jù)。 table.col_values(i)
      • 1

      • 2

      • 3

      • 4

      5.循環(huán)遍歷獲取行和列數(shù)據(jù)

      for i in range(nrows ):  print(table.row_values(i))
      • 1

      • 2

      • 3

      6.獲取工作表中具體單元個數(shù)據(jù)

      方式一:cell_A1 = table.cell(0,0).valuecell_C4 = table.cell(2,3).value方式二:cell_A1 = table.row(0)[0].valuecell_A2 = table.col(1)[0].value
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      7.向工作表中寫入數(shù)據(jù)

      row = 0col = 0# 類型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 errorctype = 1 value = '單元格的值'xf = 0 # 擴展的格式化table.put_cell(row, col, ctype, value, xf)table.cell(0,0)  #單元格的值'table.cell(0,0).value #單元格的值'
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      (三)代碼演示

      如圖:
      這里寫圖片描述

      1.打印所有的工作表

      import xlrd#1.解析Excel文件返回一個Book對象book=xlrd.open_workbook('test.xlsx')#2.調(diào)用sheets()方法,返回工作薄中的所有工作表for sheet in book.sheets(): #3.遍歷打印每張工作表的名字 print(sheet.name)
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      結(jié)果演示:員工信息表材料信息表工資信息表
      • 1

      • 2

      • 3

      • 4

      2.獲取工作表的三種方式

      import xlrdbook=xlrd.open_workbook('test.xlsx')#1.通過列表的索引訪問,獲取工作表對象table01=book.sheets()[0]#2.通過工作表的排列順序table02=book.sheet_by_index(0)#3.通過工作表的名字獲取table03=book.sheet_by_name('員工信息表')
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      3.獲取工作表的總行數(shù)和總列數(shù)

      import xlrdbook=xlrd.open_workbook('test.xlsx')#1.通過列表的索引訪問,獲取工作表對象table01=book.sheets()[0]#2.通過工作表的排列順序table02=book.sheet_by_index(0)#3.通過工作表的名字獲取table03=book.sheet_by_name('員工信息表')#4.獲取工作表的總行數(shù)和總列數(shù)print('員工信息表總行數(shù):'+str(table03.nrows))print('員工信息表總列數(shù):'+str(table03.ncols))
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      • 9

      • 10

      • 11

      4.獲取整行和整列的值

      import xlrdxlrd.book.Book#1.返回一個Book對象book=xlrd.open_workbook('test.xlsx')table=book.sheet_by_name('員工信息表')#2.打印表格中的每一行數(shù)據(jù)for i in range(table.nrows): print(table.row_values(i))
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      結(jié)果演示:['姓名', '年齡', '職業(yè)', '工資']['張三', 23.0, '銷售', 5000.0]['李四', 32.0, '產(chǎn)品經(jīng)理', 15000.0]['王五', 26.0, '滴滴司機', 8000.0]
      • 1

      • 2

      • 3

      • 4

      • 5

      5.獲取工作表中具體單元個數(shù)據(jù)

      import xlrdxlrd.book.Book#1.返回一個Book對象book=xlrd.open_workbook('test.xlsx')table=book.sheet_by_name('員工信息表')for i in range(table.nrows): #2.獲取某一列的所有行數(shù)據(jù) print(table.cell(i,3).value)
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      結(jié)果演示:工資5000.015000.08000.0
      • 1

      • 2

      • 3

      • 4

      • 5

      6.向已經(jīng)存在的excel文件中追加數(shù)據(jù)

      1.已經(jīng)存在的xls文件中,寫入新的行,新的數(shù)據(jù),對應(yīng)的邏輯為:打開(xlrd) 拷貝(xlutils) 添加(xlwt).
      2.用xlrd.open_workbook打開已有的xls文件,注意添加參數(shù)formatting_info=True,得以保存之前數(shù)據(jù)的格式。
      3.然后用from xlutils.copy import copy,之后的copy去從打開的xlrd的Book變量中,拷貝出一份,成為新的xlwt的Workbook變量。
      4.然后對于xlwt的Workbook變量,就是正常的: 通過get_sheet去獲得對應(yīng)的sheet,拿到sheet變量后,就可以往sheet中,寫入新的數(shù)據(jù)。
      5.寫完新數(shù)據(jù)后,最終save保存。

      代碼:

      import xlrdfrom xlutils.copy import copy#1.打開Excel創(chuàng)建xlrd.book.Book對象book=xlrd.open_workbook('test.xls')#2.復制Excel,返回Workbook對象workbook=copy(book)#3.獲取工作表對象sheet=workbook.get_sheet(0)#4.在指定單元格寫入數(shù)據(jù)sheet.write(4,0,'Kaina')#5.保存文件workbook.save('test.xls')
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      • 9

      • 10

      • 11

      • 12

      結(jié)果如圖所示:

      這里寫圖片描述


      (四)使用XlsxWriter模塊向Excel寫入數(shù)據(jù)

      1.按照XlsxWriter模塊: pip install xlsxWriter

      WorkBook的一些常用方法

      方法說明
      Workbook()創(chuàng)建workbook對象
      add_worksheet()創(chuàng)建worksheet對象
      add_chart()創(chuàng)建報表對象
      close()關(guān)閉workbook對象

      參考:http://xlsxwriter./workbook.html

      WorkSheet的一些常用方法

      方法說明
      add_format()給單元格添加樣式
      write(row, column, token, [format])向工作表中寫入數(shù)據(jù)
      write_number()寫入數(shù)字
      write_blank()寫入空字符
      write_formula()寫入公式
      write_datetime()寫入日期
      write_boolean()寫入boolean類型數(shù)據(jù)
      write_url()寫入url
      write_row()寫入的數(shù)據(jù)可以是列表和元組
      write_column()向worksheet中寫入一列數(shù)據(jù)
      insert_image()向worksheet中插入圖片
      insert_chart()向worksheet中插入報表
      insert_textbox()插入文本
      write_comment()添加注釋
      get_name()獲取工作表名稱
      activate()等價add_worksheet()

      參考:http://xlsxwriter./worksheet.html

      2.創(chuàng)建Excel并添加數(shù)據(jù)

      # encoding:utf-8# author:Kaina# date:2018/2/6import xlsxwriter#1.創(chuàng)建工作簿對象workbook = xlsxwriter.Workbook('hello.xlsx')#2.創(chuàng)建工作表對象worksheet = workbook.add_worksheet()#3.向單元格中添加數(shù)據(jù)worksheet.write('A1', '李四')worksheet.write(0,1, '18')#4.關(guān)閉工作簿workbook.close()
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      • 9

      • 10

      • 11

      • 12

      • 13

      結(jié)果演示
      這里寫圖片描述


      3.向Excel中添加樣式

      from xlsxwriter import Workbookfilename='test02.xlsx'workbook=Workbook(filename)worksheet=workbook.add_worksheet()#1.添加一個粗體格式來突出顯示單元格。bold=workbook.add_format({'bold':True})#2.為單元格添加數(shù)字格式。money = workbook.add_format({'num_format': '$#,##0'})#3.寫標題欄信息worksheet.write('A1', '項目', bold)worksheet.write('B1', '消費', bold)#4.向worksheet寫入一些數(shù)據(jù)expenses = ( ['租房', 1000], ['天然氣', 100], ['用餐', 300], ['健身房', 50],)#5.從標題下面的第一個單元格開始。row = 1col = 0#6.對數(shù)據(jù)進行迭代,一行一行寫入數(shù)據(jù)for item, cost in (expenses): worksheet.write(row,col,item) worksheet.write(row,col+1,cost,money) row += 1#7.使用求和公式求和worksheet.write(row,0,'總消費',bold)worksheet.write(row,1,'=SUM(B2:B5)',money)workbook.close()
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      • 9

      • 10

      • 11

      • 12

      • 13

      • 14

      • 15

      • 16

      • 17

      • 18

      • 19

      • 20

      • 21

      • 22

      • 23

      • 24

      • 25

      • 26

      • 27

      • 28

      • 29

      • 30

      結(jié)果演示
      這里寫圖片描述

      4.將不同類型的數(shù)據(jù)寫入XLSX文件。

      from  datetime import datetimefrom xlsxwriter import Workbookfilename='test03.xlsx'workbook=Workbook(filename)worksheet=workbook.add_worksheet()#1.添加一個粗體格式來突出顯示單元格。bold=workbook.add_format({'bold':1})#2.添加錢數(shù)據(jù)的格式money_format = workbook.add_format({'num_format': '¥#,##0'})#3.向單元格中添加日期格式數(shù)據(jù)date_format = workbook.add_format({'num_format': 'mmmm d yyyy'})#4.調(diào)整列寬worksheet.set_column(1, 1, 15)#5.添加標題信息worksheet.write('A1', '項目', bold)worksheet.write('B1', '日期', bold)worksheet.write('C1', '消費', bold)#6向表中添加一些數(shù)據(jù)expenses = (     ['租房','2013-01-13',1000],     ['天然氣','2013-01-14',100],     ['用餐', '2013-01-16', 300],     ['健身房', '2013-01-20',50], )#7.從標題下面的第一個單元格開始。row = 1col = 0for item, date_str, cost in (expenses):    # 將日期字符串轉(zhuǎn)換為datetime對象。    date = datetime.strptime(date_str, '%Y-%m-%d')    worksheet.write_string(row, col, item)    worksheet.write_datetime(row, col + 1, date, date_format)    worksheet.write_number(row, col + 2, cost, money_format)    row += 1worksheet.write(row, 0, '總消費',bold)worksheet.write(row, 2, '=SUM(C2:C5)', money_format)
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      • 9

      • 10

      • 11

      • 12

      • 13

      • 14

      • 15

      • 16

      • 17

      • 18

      • 19

      • 20

      • 21

      • 22

      • 23

      • 24

      • 25

      • 26

      • 27

      • 28

      • 29

      • 30

      • 31

      • 32

      • 33

      • 34

      • 35

      • 36

      • 37

      結(jié)果演示
      這里寫圖片描述


      5.xlsxWriter模塊生成報表

      # encoding:utf-8# author:kaina# date:2018/2/6from xlsxwriter import Workbookworkbook=Workbook('chart.xlsx')worksheet=workbook.add_worksheet()#1.創(chuàng)建報表對象chart=workbook.add_chart({'type':'column'})#2.寫一些數(shù)據(jù)添加到圖表上data = [ [1, 2, 3, 4, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12, 15],]#3.向每一列寫入數(shù)據(jù)worksheet.write_column('A1', data[0])worksheet.write_column('B1', data[1])worksheet.write_column('C1', data[2])#4.配置報表chart.add_series({'values': '=Sheet1!$A$1:$A$5'})chart.add_series({'values': '=Sheet1!$B$1:$B$5'})chart.add_series({'values': '=Sheet1!$C$1:$C$5'})#5.在工作表中插入報表worksheet.insert_chart('A7', chart)workbook.close()
      • 1

      • 2

      • 3

      • 4

      • 5

      • 6

      • 7

      • 8

      • 9

      • 10

      • 11

      • 12

      • 13

      • 14

      • 15

      • 16

      • 17

      • 18

      • 19

      • 20

      • 21

      • 22

      • 23

      • 24

      • 25

      結(jié)果演示:
      這里寫圖片描述

      參考:http://xlsxwriter./example_chart_simple.html
      視頻:https://www.365yg.com/a6486682255426060814

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多