接著上一章的內(nèi)容繼續(xù)來說,上一章內(nèi)容說完了關(guān)于openpyxl對(duì)數(shù)據(jù)的提取、篩選等數(shù)據(jù)的查詢的遍歷操作。這一章將主要看看怎樣在excel文件中新增以及修改數(shù)據(jù),如果沒有看過前一章的內(nèi)容建議先看看上一篇文章的說明。
創(chuàng)新互聯(lián)公司是專業(yè)的儀征網(wǎng)站建設(shè)公司,儀征接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行儀征網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
【閱讀全文】
導(dǎo)入excel的數(shù)據(jù)處理對(duì)象
from openpyxl import load_workbook
創(chuàng)建新的sheet工作表
workbook = load_workbook(filename = "./data.xlsx")
workbook.create_sheet("新創(chuàng)建的工作表sheet")
print(workbook.sheetnames)
workbook.save(filename = "./new_data.xlsx")
刪除工作表
workbook.remove(workbook['新創(chuàng)建的工作表sheet']) # 將新創(chuàng)建的工作表刪除
復(fù)制工作表并重新保存
workbook = load_workbook(filename = "./data.xlsx") # 加載excel文件
sheet = workbook['Sheet1'] # 獲取Sheet1工作表對(duì)象
workbook.copy_worksheet(sheet) # 復(fù)制這個(gè)工作表到excel文件對(duì)象
workbook.save(filename = "./new_data.xlsx") # 將該文件文件重新保存到另外一個(gè)文件
向單元格中寫入內(nèi)容
workbook = load_workbook(filename = "./data.xlsx") # 加載excel文件
sheet = workbook['Sheet1'] # 獲取工作表對(duì)象
cell = sheet["A1"] # 獲取單元格對(duì)象
cell.value = 'Python 集中營' # 向單元格寫入數(shù)據(jù)
workbook.save(filename = "./new_data.xlsx") # 將修改后的excel文件對(duì)象另存為新的文件
按行插入數(shù)據(jù)
'''
append(row) 將行數(shù)據(jù)追加到已有excel數(shù)據(jù)表的后面
row:行數(shù)據(jù)對(duì)象
'''
row_datas = [
['Python 集中營','原創(chuàng)文章:167篇','注冊(cè)時(shí)間:2020-04-01'],
['Python 集中營','原創(chuàng)文章:167篇','注冊(cè)時(shí)間:2020-04-01']
]
for row_data in row_datas: # 遍歷準(zhǔn)備好的數(shù)據(jù)
sheet.append(row_data) # 將每行數(shù)據(jù)加入到sheet工作表中
插入空的一行或空的一列
'''
insert_cols(idx=數(shù)字編號(hào), amount=要插入的列數(shù)) 在idx的左邊插入空列
insert_rows(idx=數(shù)字編號(hào), amount=要插入的行數(shù)) 在idx的下邊插入空行
'''
sheet.insert_cols(idx=1,amount=10) # 在第一列的左邊插入十個(gè)空列
sheet.insert_rows(idx=2,amount=10) # 在第二行的下邊插入十個(gè)空行
刪除第幾行或第幾列
'''
delete_cols(idx=數(shù)字編號(hào)) 刪除第幾列
delete_rows(idx=數(shù)字編號(hào)) 刪除第幾行
'''
sheet.delete_cols(idx=10) # 刪除第十列
sheet.delete_rows(idx=10) # 刪除第十行
數(shù)據(jù)域的移動(dòng)
'''
sheet.move_range("數(shù)據(jù)域",rows=數(shù)字編號(hào),cols=數(shù)字編號(hào))
'''
sheet.move_range("A1:C2",rows=1,cols=2) # 從A1:C2的數(shù)據(jù)域向下移動(dòng)一行、向左移動(dòng)兩列,如果是負(fù)數(shù)則向相反的方向移動(dòng)
關(guān)于openpyxl設(shè)置單元格的樣式問題,在之前專門寫過一篇文章是它的樣式的配置,可以到公眾號(hào)的文章搜索功能去搜索'openpyxl樣式'。
【往期精彩】
● excel數(shù)據(jù)處理一:巧妙使用openpyxl提取、篩選數(shù)據(jù)
● 比Selenium更方便的自動(dòng)化測(cè)試工具Helium!
● Python數(shù)據(jù)可視化:可視化數(shù)據(jù)分析插件D-Tale
● 計(jì)算速度太慢?試試 lru_cache 裝飾器!
● 冒泡排序、選擇排序之間的比較與代碼實(shí)現(xiàn)!
● 如何通過pynput與日志記錄實(shí)現(xiàn)鍵盤、鼠標(biāo)的監(jiān)聽行為?
● 辦公自動(dòng)化:幾行代碼將PDF文檔轉(zhuǎn)換為WORD文檔(代碼實(shí)戰(zhàn))!