接着上一章的內容繼續來說,上一章內容說完了關於openpyxl對數據的提取、篩選等數據的查詢的遍歷操作。這一章將主要看看怎樣在excel文件中新增以及修改數據,如果沒有看過前一章的內容建議先看看上一篇文章的說明。
導入excel的數據處理對象
from openpyxl import load_workbook
創建新的sheet工作表
workbook = load_workbook(filename = "./data.xlsx")
workbook.create_sheet("新創建的工作表sheet")
print(workbook.sheetnames)
workbook.save(filename = "./new_data.xlsx")
刪除工作表
workbook.remove(workbook['新創建的工作表sheet']) # 將新創建的工作表刪除
復制工作表並重新保存
workbook = load_workbook(filename = "./data.xlsx") # 加載excel文件
sheet = workbook['Sheet1'] # 獲取Sheet1工作表對象
workbook.copy_worksheet(sheet) # 復制這個工作表到excel文件對象
workbook.save(filename = "./new_data.xlsx") # 將該文件文件重新保存到另外一個文件
向單元格中寫入內容
workbook = load_workbook(filename = "./data.xlsx") # 加載excel文件
sheet = workbook['Sheet1'] # 獲取工作表對象
cell = sheet["A1"] # 獲取單元格對象
cell.value = 'Python 集中營' # 向單元格寫入數據
workbook.save(filename = "./new_data.xlsx") # 將修改后的excel文件對象另存為新的文件
按行插入數據
'''
append(row) 將行數據追加到已有excel數據表的后面
row:行數據對象
'''
row_datas = [
['Python 集中營','原創文章:167篇','注冊時間:2020-04-01'],
['Python 集中營','原創文章:167篇','注冊時間:2020-04-01']
]
for row_data in row_datas: # 遍歷准備好的數據
sheet.append(row_data) # 將每行數據加入到sheet工作表中
插入空的一行或空的一列
'''
insert_cols(idx=數字編號, amount=要插入的列數) 在idx的左邊插入空列
insert_rows(idx=數字編號, amount=要插入的行數) 在idx的下邊插入空行
'''
sheet.insert_cols(idx=1,amount=10) # 在第一列的左邊插入十個空列
sheet.insert_rows(idx=2,amount=10) # 在第二行的下邊插入十個空行
刪除第幾行或第幾列
'''
delete_cols(idx=數字編號) 刪除第幾列
delete_rows(idx=數字編號) 刪除第幾行
'''
sheet.delete_cols(idx=10) # 刪除第十列
sheet.delete_rows(idx=10) # 刪除第十行
數據域的移動
'''
sheet.move_range("數據域",rows=數字編號,cols=數字編號)
'''
sheet.move_range("A1:C2",rows=1,cols=2) # 從A1:C2的數據域向下移動一行、向左移動兩列,如果是負數則向相反的方向移動
關於openpyxl設置單元格的樣式問題,在之前專門寫過一篇文章是它的樣式的配置,可以到公眾號的文章搜索功能去搜索'openpyxl樣式'。
【往期精彩】
● excel數據處理一:巧妙使用openpyxl提取、篩選數據
● 比Selenium更方便的自動化測試工具Helium!
● Python數據可視化:可視化數據分析插件D-Tale
● 計算速度太慢?試試 lru_cache 裝飾器!
● 冒泡排序、選擇排序之間的比較與代碼實現!
● 如何通過pynput與日志記錄實現鍵盤、鼠標的監聽行為?
● 辦公自動化:幾行代碼將PDF文檔轉換為WORD文檔(代碼實戰)!