中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python針對Excel表格的操作

一 python與Excel表格
Excel 是 Windows 環(huán)境下流行的、強大的電子表格應用。openpyxl 模塊讓 Python 程序能讀取和修改 Excel電子表格文件
1)excel文檔的基本定義
- 工作薄(workbook)
- 工作表(sheet)
- 活動表(active sheet)
- 行(row): 1,2,3,4,5,6……..
- 列(column): A,B,C,D……..
- 單元格(cell): B1, C1
2)python對于Excel表格操作的模塊有很多種,這里選用openpyxl模塊
但是openpyxl模塊時需要進行安裝的

pip install openpyxl
  • 1

利用以上命令來安裝openpyxl模塊

這是選作需要操作的表格


1> 打開一個excel文檔

import openpyxl# 1. 打開一個excel文檔, class 'openpyxl.workbook.workbook.Workbook'實例化出來的對象wb = openpyxl.load_workbook('Book.xlsx')print(wb, type(wb))# 獲取當前工作薄里所有的工作表, 和正在使用的表;print(wb.sheetnames)print(wb.active)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7


輸出的是一個對象
2> 選擇要操作的工作表

# 2. 選擇要操作的工作表, 返回工作表對象sheet = wb['Sheet1']# 獲取工作表的名稱print(sheet.title)
  • 1
  • 2
  • 3
  • 4


3> 指定行指定列的單元格信息

# 3. 返回指定行指定列的單元格信息print(sheet.cell(row=1, column=2).value)cell = sheet['B1']print(cell)print(cell.row, cell.column, cell.value)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6


4> 獲取工作表中行和列的最大值

# 4. 獲取工作表中行和列的最大值print(sheet.max_column)print(sheet.max_row)sheet.title = '學生信息'print(sheet.title)
  • 1
  • 2
  • 3
  • 4
  • 5


5> 訪問單元格的所有信息

# 5. 訪問單元格的所有信息print(sheet.rows)  # 返回一個生成器, 包含文件的每一行內(nèi)容, 可以通過便利訪問.# 循環(huán)遍歷每一行for row in sheet.rows:    # 循環(huán)遍歷每一個單元格    for cell in row:        # 獲取單元格的內(nèi)容        print(cell.value, end=',')    print()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9


6> 保存修改信息

# 6. 保存修改信息wb.save(filename='Boom.xlsx')
  • 1
  • 2


因此操作Excel表格可詳細的概括如下:
1.導入 openpyxl 模塊。
2.調(diào)用 openpyxl.load_workbook()函數(shù)。
3.取得 Workbook 對象。
4.調(diào)用 wb.sheetnames和 wb.active 獲取工作簿詳細信息。
5.取得 Worksheet 對象。
6.使用索引或工作表的 cell()方法,帶上 row 和 column 關鍵字參數(shù)。
7.取得 Cell 對象。
8.讀取 Cell 對象的 value 屬性
二 Excel簡單實例
- 定義一個函數(shù), readwb(wbname, sheetname=None)
- 如果用戶指定sheetname就打開用戶指定的工作表, 如果沒有指定, 打開active sheet;
- 根據(jù)商品的價格進行排序(由小到大), 保存到文件中;商品名稱:商品價格:商品數(shù)量
- 所有信息, 并將其保存到數(shù)據(jù)庫中

import osimport openpyxldef readwb(wbname, sheetname=None):    # 打開工作薄    wb = openpyxl.load_workbook(wbname)    # 獲取要操作的工作表    if not sheetname:        sheet = wb.active    else:        sheet = wb[sheetname]    # 獲取商品信息保存到列表中    #[ ['name', price, count]    all_info = []    for row in sheet.rows:        child = [cell.value for cell in row]        all_info.append(child)    return sorted(all_info, key=lambda item: item[1])def save_to_excel(data, wbname, sheetname='sheet1'):    '''    將信息保存到excel表中;    [[' BOOK', 50, 3], ['APPLE', 100, 1], ['BANANA', 200, 0.5]]    '''    print('寫入Excel[%s]中.......' %(wbname))    # 打開excel表, 如果文件不存在, 自己實例化一個WorkBook對象    wb = openpyxl.Workbook()    # 修改當前工作表的名稱    sheet = wb.active    # 修改工作表的名稱    sheet.title = sheetname    for row, item in enumerate(data):  # 0 [' BOOK', 50, 3]        for column, cellValue in enumerate(item): #  0 ' BOOK'            sheet.cell(row=row+1, column=column+1, value=cellValue)    # ** 往單元格寫入內(nèi)容    # sheet.cell['B1'].value = 'value'    # sheet.cell(row=1, column=2, value='value')    # 保存寫入的信息    wb.save(filename=wbname)    print('寫入成功!')data = readwb(wbname='Book1.xlsx')save_to_excel(data, wbname='Book2.xlsx', sheetname='排序商品信息')
  • 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
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

* 三 更改表格的內(nèi)容*
每一行代表一次單獨的銷售。列分別是銷售產(chǎn)品的類型(A)、產(chǎn)品每磅的價格
(B)、銷售的磅數(shù)(C),以及這次銷售的總收入。TOTAL 列設置為 Excel 公式,將每磅的成本乘以銷售的磅數(shù),
并將結果取整到分。有了這個公式,如果列 B 或 C 發(fā)生變化,TOTAL 列中的單元格將自動更新.

需要更新的價格如下:
Celery 1.19
Garlic 3.07
Lemon 1.27

現(xiàn)在假設 Garlic、 Celery 和 Lemons 的價格輸入的不正確。這讓你面對一項無聊
的任務:遍歷這個電子表格中的幾千行,更新所有 garlic、celery 和 lemon 行中每磅
的價格。你不能簡單地對價格查找替換,因為可能有其他的產(chǎn)品價格一樣,你不希
望錯誤地“更正”。對于幾千行數(shù)據(jù),手工操作可能要幾小時
下載文件 : produceSales.xlsx
原文件打開情況:


1> 首先需要打開電子表格文件
2> 然后查找每一行內(nèi)容,檢查列 A (即列表的第一個索引)的值是不是 Celery、Garlic 或 Lemon
3> 如果是,更新列 B 中的價格(即列表第二個索引)
4> 最后將該表格保存為一個新的文件

import osimport openpyxldef readwb(wbname, sheetname=None): # 打開工作薄 wb = openpyxl.load_workbook(wbname) # 獲取要操作的工作表 if not sheetname: sheet = wb.active else: sheet = wb[sheetname] # 獲取商品信息保存到列表中 all_info = [] for row in sheet.rows: child = [cell.value for cell in row] all_info.append(child) if child[0] == 'Celery': child[1] = 1.19 if child[0] == 'Garlic': child[1] = 3.07 if child[0] == 'Lemon': child[1] = 1.27 return all_infodef save_to_excel(data, wbname, sheetname='sheet1'): ''' 將信息保存到excel表中; ''' print('寫入Excel[%s]中.......' % (wbname)) # 打開excel表, 如果文件不存在, 自己實例化一個WorkBook對象 wb = openpyxl.Workbook() # 修改當前工作表的名稱 sheet = wb.active # 修改工作表的名稱 sheet.title = sheetname for row, item in enumerate(data): # 0 [' BOOK', 50, 3] for column, cellValue in enumerate(item): # 0 ' BOOK' sheet.cell(row=row + 1, column=column + 1, value=cellValue) # ** 往單元格寫入內(nèi)容 # sheet.cell['B1'].value = 'value' # sheet.cell(row=1, column=2, value='value') # 保存寫入的信息 wb.save(filename=wbname) print('寫入成功!')data = readwb(wbname='/home/kiosk/Desktop/day17/produceSales.xlsx')save_to_excel(data, wbname='new_Sales.xlsx', sheetname='商品信息')
  • 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
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54


表示寫入新數(shù)據(jù)成功

這是更改后的保存的新表格

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python3 讀取和寫入excel xlsx文件 使用openpyxl
openpyxl模塊(excel操作)
python 封裝openpyxl實現(xiàn)excel讀寫功能
python實現(xiàn)跨excel的工作表sheet之間的復制方法
python+openpyxl創(chuàng)建excel
Python3 讀取和寫入excel xlsx文件
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服